mirror of
https://github.com/cnbattle/drone-upx.git
synced 2026-06-04 18:24:03 +08:00
Compare commits
14 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f44600c18f | |||
| 9b4ed9f580 | |||
| e431ebc97e | |||
| a86f39abbb | |||
| f34695b6ae | |||
| ff652546da | |||
| 569a2a387c | |||
| 0fc4a07c24 | |||
| 1057f2939d | |||
| 2e506963cb | |||
| 14500fa9d7 | |||
| 7c2d02cc6f | |||
| 5f95c675ce | |||
| 3ffa50d418 |
+30
-95
@@ -9,7 +9,7 @@ platform:
|
|||||||
steps:
|
steps:
|
||||||
- name: vet
|
- name: vet
|
||||||
pull: always
|
pull: always
|
||||||
image: golang:1.14
|
image: golang:1.19
|
||||||
commands:
|
commands:
|
||||||
- make vet
|
- make vet
|
||||||
volumes:
|
volumes:
|
||||||
@@ -18,7 +18,7 @@ steps:
|
|||||||
|
|
||||||
- name: lint
|
- name: lint
|
||||||
pull: always
|
pull: always
|
||||||
image: golang:1.14
|
image: golang:1.19
|
||||||
commands:
|
commands:
|
||||||
- make lint
|
- make lint
|
||||||
volumes:
|
volumes:
|
||||||
@@ -27,7 +27,7 @@ steps:
|
|||||||
|
|
||||||
- name: misspell
|
- name: misspell
|
||||||
pull: always
|
pull: always
|
||||||
image: golang:1.14
|
image: golang:1.19
|
||||||
commands:
|
commands:
|
||||||
- make misspell-check
|
- make misspell-check
|
||||||
volumes:
|
volumes:
|
||||||
@@ -36,7 +36,7 @@ steps:
|
|||||||
|
|
||||||
- name: test
|
- name: test
|
||||||
pull: always
|
pull: always
|
||||||
image: golang:1.14
|
image: golang:1.19
|
||||||
commands:
|
commands:
|
||||||
- make test
|
- make test
|
||||||
volumes:
|
volumes:
|
||||||
@@ -58,9 +58,9 @@ platform:
|
|||||||
steps:
|
steps:
|
||||||
- name: build-push
|
- name: build-push
|
||||||
pull: always
|
pull: always
|
||||||
image: golang:1.14
|
image: golang:1.19
|
||||||
commands:
|
commands:
|
||||||
- "go build -v -ldflags '-X main.build=${DRONE_BUILD_NUMBER}' -a -o release/linux/amd64/drone-upx"
|
- "go build -v -ldflags '-X main.build=${DRONE_BUILD_NUMBER}' -a -o release/linux/amd64/drone-upx-original"
|
||||||
environment:
|
environment:
|
||||||
CGO_ENABLED: 0
|
CGO_ENABLED: 0
|
||||||
when:
|
when:
|
||||||
@@ -70,18 +70,25 @@ steps:
|
|||||||
|
|
||||||
- name: build-tag
|
- name: build-tag
|
||||||
pull: always
|
pull: always
|
||||||
image: golang:1.14
|
image: golang:1.19
|
||||||
commands:
|
commands:
|
||||||
- "go build -v -ldflags '-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}' -a -o release/linux/amd64/drone-upx"
|
- "go build -v -ldflags '-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}' -a -o release/linux/amd64/drone-upx-original"
|
||||||
environment:
|
environment:
|
||||||
CGO_ENABLED: 0
|
CGO_ENABLED: 0
|
||||||
when:
|
when:
|
||||||
event:
|
event:
|
||||||
- tag
|
- tag
|
||||||
|
|
||||||
|
- name : upx
|
||||||
|
image: cnbattle/drone-upx
|
||||||
|
settings:
|
||||||
|
level: 9
|
||||||
|
save_file: ./release/linux/amd64/drone-upx
|
||||||
|
original_file: ./release/linux/amd64/drone-upx-original
|
||||||
|
|
||||||
- name: executable
|
- name: executable
|
||||||
pull: always
|
pull: always
|
||||||
image: golang:1.14
|
image: golang:1.19
|
||||||
commands:
|
commands:
|
||||||
- ./release/linux/amd64/drone-upx --help
|
- ./release/linux/amd64/drone-upx --help
|
||||||
|
|
||||||
@@ -126,6 +133,7 @@ trigger:
|
|||||||
depends_on:
|
depends_on:
|
||||||
- testing
|
- testing
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
name: linux-arm64
|
name: linux-arm64
|
||||||
@@ -137,9 +145,9 @@ platform:
|
|||||||
steps:
|
steps:
|
||||||
- name: build-push
|
- name: build-push
|
||||||
pull: always
|
pull: always
|
||||||
image: golang:1.14
|
image: golang:1.19
|
||||||
commands:
|
commands:
|
||||||
- "go build -v -ldflags '-X main.build=${DRONE_BUILD_NUMBER}' -a -o release/linux/arm64/drone-upx"
|
- "go build -v -ldflags '-X main.build=${DRONE_BUILD_NUMBER}' -a -o release/linux/arm64/drone-upx-original"
|
||||||
environment:
|
environment:
|
||||||
CGO_ENABLED: 0
|
CGO_ENABLED: 0
|
||||||
when:
|
when:
|
||||||
@@ -149,18 +157,25 @@ steps:
|
|||||||
|
|
||||||
- name: build-tag
|
- name: build-tag
|
||||||
pull: always
|
pull: always
|
||||||
image: golang:1.14
|
image: golang:1.19
|
||||||
commands:
|
commands:
|
||||||
- "go build -v -ldflags '-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}' -a -o release/linux/arm64/drone-upx"
|
- "go build -v -ldflags '-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}' -a -o release/linux/arm64/drone-upx-original"
|
||||||
environment:
|
environment:
|
||||||
CGO_ENABLED: 0
|
CGO_ENABLED: 0
|
||||||
when:
|
when:
|
||||||
event:
|
event:
|
||||||
- tag
|
- tag
|
||||||
|
|
||||||
|
- name : upx
|
||||||
|
image: cnbattle/drone-upx
|
||||||
|
settings:
|
||||||
|
level: 9
|
||||||
|
save_file: ./release/linux/arm64/drone-upx
|
||||||
|
original_file: ./release/linux/arm64/drone-upx-original
|
||||||
|
|
||||||
- name: executable
|
- name: executable
|
||||||
pull: always
|
pull: always
|
||||||
image: golang:1.14
|
image: golang:1.19
|
||||||
commands:
|
commands:
|
||||||
- ./release/linux/arm64/drone-upx --help
|
- ./release/linux/arm64/drone-upx --help
|
||||||
|
|
||||||
@@ -205,85 +220,6 @@ trigger:
|
|||||||
depends_on:
|
depends_on:
|
||||||
- testing
|
- testing
|
||||||
|
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
name: linux-arm
|
|
||||||
|
|
||||||
platform:
|
|
||||||
os: linux
|
|
||||||
arch: arm
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: build-push
|
|
||||||
pull: always
|
|
||||||
image: golang:1.14
|
|
||||||
commands:
|
|
||||||
- "go build -v -ldflags '-X main.build=${DRONE_BUILD_NUMBER}' -a -o release/linux/arm/drone-upx"
|
|
||||||
environment:
|
|
||||||
CGO_ENABLED: 0
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
exclude:
|
|
||||||
- tag
|
|
||||||
|
|
||||||
- name: build-tag
|
|
||||||
pull: always
|
|
||||||
image: golang:1.14
|
|
||||||
commands:
|
|
||||||
- "go build -v -ldflags '-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}' -a -o release/linux/arm/drone-upx"
|
|
||||||
environment:
|
|
||||||
CGO_ENABLED: 0
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
- tag
|
|
||||||
|
|
||||||
- name: executable
|
|
||||||
pull: always
|
|
||||||
image: golang:1.14
|
|
||||||
commands:
|
|
||||||
- ./release/linux/arm/drone-upx --help
|
|
||||||
|
|
||||||
- name: dryrun
|
|
||||||
pull: always
|
|
||||||
image: plugins/docker:linux-arm
|
|
||||||
settings:
|
|
||||||
cache_from: cnbattle/drone-upx
|
|
||||||
dockerfile: docker/Dockerfile.linux.arm
|
|
||||||
dry_run: true
|
|
||||||
repo: cnbattle/drone-upx
|
|
||||||
tags: linux-arm
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
- pull_request
|
|
||||||
|
|
||||||
- name: publish
|
|
||||||
pull: always
|
|
||||||
image: plugins/docker:linux-arm
|
|
||||||
settings:
|
|
||||||
auto_tag: true
|
|
||||||
auto_tag_suffix: linux-arm
|
|
||||||
cache_from: cnbattle/drone-upx
|
|
||||||
daemon_off: false
|
|
||||||
dockerfile: docker/Dockerfile.linux.arm
|
|
||||||
password:
|
|
||||||
from_secret: docker_password
|
|
||||||
repo: cnbattle/drone-upx
|
|
||||||
username:
|
|
||||||
from_secret: docker_username
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
exclude:
|
|
||||||
- pull_request
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
ref:
|
|
||||||
- refs/heads/master
|
|
||||||
- "refs/pull/**"
|
|
||||||
- "refs/tags/**"
|
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- testing
|
|
||||||
|
|
||||||
---
|
---
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
name: release-binary
|
name: release-binary
|
||||||
@@ -295,7 +231,7 @@ platform:
|
|||||||
steps:
|
steps:
|
||||||
- name: build-all-binary
|
- name: build-all-binary
|
||||||
pull: always
|
pull: always
|
||||||
image: golang:1.14
|
image: golang:1.19
|
||||||
commands:
|
commands:
|
||||||
- make release
|
- make release
|
||||||
when:
|
when:
|
||||||
@@ -349,7 +285,6 @@ trigger:
|
|||||||
depends_on:
|
depends_on:
|
||||||
- linux-amd64
|
- linux-amd64
|
||||||
- linux-arm64
|
- linux-arm64
|
||||||
- linux-arm
|
|
||||||
- release-binary
|
- release-binary
|
||||||
|
|
||||||
...
|
...
|
||||||
+3
-4
@@ -1,11 +1,10 @@
|
|||||||
FROM alpine
|
FROM alpine
|
||||||
|
|
||||||
ADD https://github.com/upx/upx/releases/download/v3.96/upx-3.96-amd64_linux.tar.xz /usr/local
|
RUN apk add --no-cache ca-certificates xz && rm -rf /var/cache/apk/*
|
||||||
RUN xz -d -c /usr/local/upx-3.96-amd64_linux.tar.xz | tar -xOf - upx-3.96-amd64_linux/upx > /bin/upx && \
|
ADD https://github.com/upx/upx/releases/download/v4.0.0/upx-4.0.0-amd64_linux.tar.xz /usr/local
|
||||||
|
RUN xz -d -c /usr/local/upx-4.0.0-amd64_linux.tar.xz | tar -xOf - upx-4.0.0-amd64_linux/upx > /bin/upx && \
|
||||||
chmod a+x /bin/upx
|
chmod a+x /bin/upx
|
||||||
|
|
||||||
RUN /bin/upx --help
|
|
||||||
|
|
||||||
ADD release/linux/amd64/drone-upx /bin/
|
ADD release/linux/amd64/drone-upx /bin/
|
||||||
|
|
||||||
ENTRYPOINT ["/bin/drone-upx"]
|
ENTRYPOINT ["/bin/drone-upx"]
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ GO ?= go
|
|||||||
DEPLOY_ACCOUNT := cnbattle
|
DEPLOY_ACCOUNT := cnbattle
|
||||||
DEPLOY_IMAGE := $(EXECUTABLE)
|
DEPLOY_IMAGE := $(EXECUTABLE)
|
||||||
|
|
||||||
TARGETS ?= linux darwin windows
|
TARGETS ?= linux windows
|
||||||
ARCHS ?= amd64 386
|
ARCHS ?= amd64 386
|
||||||
SOURCES ?= $(shell find . -name "*.go" -type f)
|
SOURCES ?= $(shell find . -name "*.go" -type f)
|
||||||
TAGS ?=
|
TAGS ?=
|
||||||
@@ -35,21 +35,21 @@ vet:
|
|||||||
|
|
||||||
lint:
|
lint:
|
||||||
@hash revive > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
|
@hash revive > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
|
||||||
$(GO) get -u github.com/mgechev/revive; \
|
$(GO) install github.com/mgechev/revive@latest; \
|
||||||
fi
|
fi
|
||||||
revive -config .revive.toml ./... || exit 1
|
revive -config .revive.toml ./... || exit 1
|
||||||
|
|
||||||
.PHONY: misspell-check
|
.PHONY: misspell-check
|
||||||
misspell-check:
|
misspell-check:
|
||||||
@hash misspell > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
|
@hash misspell > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
|
||||||
$(GO) get -u github.com/client9/misspell/cmd/misspell; \
|
$(GO) install github.com/client9/misspell/cmd/misspell@latest; \
|
||||||
fi
|
fi
|
||||||
misspell -error $(SOURCES)
|
misspell -error $(SOURCES)
|
||||||
|
|
||||||
.PHONY: misspell
|
.PHONY: misspell
|
||||||
misspell:
|
misspell:
|
||||||
@hash misspell > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
|
@hash misspell > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
|
||||||
$(GO) get -u github.com/client9/misspell/cmd/misspell; \
|
$(GO) install github.com/client9/misspell/cmd/misspell@latest; \
|
||||||
fi
|
fi
|
||||||
misspell -w $(SOURCES)
|
misspell -w $(SOURCES)
|
||||||
|
|
||||||
@@ -80,7 +80,7 @@ release-dirs:
|
|||||||
|
|
||||||
release-build:
|
release-build:
|
||||||
@which gox > /dev/null; if [ $$? -ne 0 ]; then \
|
@which gox > /dev/null; if [ $$? -ne 0 ]; then \
|
||||||
$(GO) get -u github.com/mitchellh/gox; \
|
$(GO) install github.com/mitchellh/gox@latest; \
|
||||||
fi
|
fi
|
||||||
gox -os="$(TARGETS)" -arch="$(ARCHS)" -tags="$(TAGS)" -ldflags="-s -w $(LDFLAGS)" -output="$(DIST)/binaries/$(EXECUTABLE)-$(VERSION)-{{.OS}}-{{.Arch}}"
|
gox -os="$(TARGETS)" -arch="$(ARCHS)" -tags="$(TAGS)" -ldflags="-s -w $(LDFLAGS)" -output="$(DIST)/binaries/$(EXECUTABLE)-$(VERSION)-{{.OS}}-{{.Arch}}"
|
||||||
|
|
||||||
|
|||||||
@@ -1,16 +1,18 @@
|
|||||||
# drone-upx
|
# drone-upx
|
||||||
|
|
||||||
[](https://cloud.drone.io/cnbattle/drone-upx)
|
[](https://cloud.drone.io/cnbattle/drone-upx)
|
||||||
[](https://github.com/cnbattle/drone-upx)
|
[](https://github.com/cnbattle/drone-upx)
|
||||||
[](https://goreportcard.com/report/github.com/cnbattle/drone-upx)
|
[](https://goreportcard.com/report/github.com/cnbattle/drone-upx)
|
||||||
|
[](https://img.shields.io/docker/pulls/cnbattle/drone-upx.svg)
|
||||||
[](https://godoc.org/github.com/cnbattle/drone-upx)
|
[](https://godoc.org/github.com/cnbattle/drone-upx)
|
||||||
[](https://github.com/996icu/996.ICU/blob/master/LICENSE)
|
[](https://github.com/996icu/996.ICU/blob/master/LICENSE)
|
||||||
|
|
||||||
|
## Use
|
||||||
```
|
```
|
||||||
- name : upx
|
- name : upx
|
||||||
image: cnbattle/drone-upx
|
image: cnbattle/drone-upx
|
||||||
settings:
|
settings:
|
||||||
level: 9
|
level: 9 //default 5
|
||||||
save_file: ./server_upx
|
save_file: ./executable_upx_file
|
||||||
original_file: ./server_original
|
original_file: ./executable_original_file
|
||||||
```
|
```
|
||||||
+15
-13
@@ -1,3 +1,4 @@
|
|||||||
|
// Package cmd cmd
|
||||||
package cmd
|
package cmd
|
||||||
|
|
||||||
import (
|
import (
|
||||||
@@ -6,19 +7,20 @@ import (
|
|||||||
"os/exec"
|
"os/exec"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Cmd Cmd
|
// Cmd exec.Command
|
||||||
func Cmd(name string, arg ...string) {
|
func Cmd(name string, arg ...string) error {
|
||||||
fmt.Println(name, arg)
|
command := exec.Command(name, arg...)
|
||||||
cmd0 := exec.Command(name, arg...)
|
var buffer bytes.Buffer
|
||||||
var outputBuf1 bytes.Buffer
|
command.Stdout = &buffer
|
||||||
cmd0.Stdout = &outputBuf1
|
if err := command.Start(); err != nil {
|
||||||
if err := cmd0.Start(); err != nil {
|
return err
|
||||||
fmt.Printf("Error: The first command can not be startup %s\n", err)
|
|
||||||
return
|
|
||||||
}
|
}
|
||||||
if err := cmd0.Wait(); err != nil {
|
if err := command.Wait(); err != nil {
|
||||||
fmt.Printf("Error: Couldn't wait for the second command: %s\n", err)
|
return err
|
||||||
return
|
|
||||||
}
|
}
|
||||||
fmt.Printf("%s\n", outputBuf1.Bytes())
|
fmt.Printf("%s", buffer.Bytes())
|
||||||
|
fmt.Println("===================================================")
|
||||||
|
fmt.Println(" Successfully ")
|
||||||
|
fmt.Println("===================================================")
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,10 @@
|
|||||||
FROM plugins/base:linux-amd64
|
FROM plugins/base:linux-amd64
|
||||||
|
|
||||||
ADD https://github.com/upx/upx/releases/download/v3.96/upx-3.96-amd64_linux.tar.xz /usr/local
|
RUN apk add --no-cache ca-certificates xz && rm -rf /var/cache/apk/*
|
||||||
RUN xz -d -c /usr/local/upx-3.96-amd64_linux.tar.xz | tar -xOf - upx-3.96-amd64_linux/upx > /bin/upx && \
|
ADD https://github.com/upx/upx/releases/download/v4.0.0/upx-4.0.0-amd64_linux.tar.xz /usr/local
|
||||||
|
RUN xz -d -c /usr/local/upx-4.0.0-amd64_linux.tar.xz | tar -xOf - upx-4.0.0-amd64_linux/upx > /bin/upx && \
|
||||||
chmod a+x /bin/upx
|
chmod a+x /bin/upx
|
||||||
|
|
||||||
RUN apk add --no-cache ca-certificates && \
|
|
||||||
rm -rf /var/cache/apk/*
|
|
||||||
|
|
||||||
COPY release/linux/amd64/drone-upx /bin/
|
COPY release/linux/amd64/drone-upx /bin/
|
||||||
|
|
||||||
ENTRYPOINT ["/bin/drone-upx"]
|
ENTRYPOINT ["/bin/drone-upx"]
|
||||||
|
|||||||
@@ -1,11 +0,0 @@
|
|||||||
FROM plugins/base:linux-arm
|
|
||||||
|
|
||||||
ADD https://github.com/upx/upx/releases/download/v3.96/upx-3.96-amd64_linux.tar.xz /usr/local
|
|
||||||
RUN xz -d -c /usr/local/upx-3.96-amd64_linux.tar.xz | tar -xOf - upx-3.96-amd64_linux/upx > /bin/upx && \
|
|
||||||
chmod a+x /bin/upx
|
|
||||||
|
|
||||||
RUN apk add --no-cache ca-certificates && \
|
|
||||||
rm -rf /var/cache/apk/*
|
|
||||||
|
|
||||||
COPY release/linux/arm/drone-upx /bin/
|
|
||||||
ENTRYPOINT ["/bin/drone-upx"]
|
|
||||||
@@ -1,11 +1,10 @@
|
|||||||
FROM plugins/base:linux-arm64
|
FROM plugins/base:linux-arm64
|
||||||
|
|
||||||
ADD https://github.com/upx/upx/releases/download/v3.96/upx-3.96-amd64_linux.tar.xz /usr/local
|
RUN apk add --no-cache ca-certificates xz && rm -rf /var/cache/apk/*
|
||||||
RUN xz -d -c /usr/local/upx-3.96-amd64_linux.tar.xz | tar -xOf - upx-3.96-amd64_linux/upx > /bin/upx && \
|
ADD https://github.com/upx/upx/releases/download/v4.0.0/upx-4.0.0-arm64_linux.tar.xz /usr/local
|
||||||
|
RUN xz -d -c /usr/local/upx-4.0.0-arm64_linux.tar.xz | tar -xOf - upx-4.0.0-arm64_linux/upx > /bin/upx && \
|
||||||
chmod a+x /bin/upx
|
chmod a+x /bin/upx
|
||||||
|
|
||||||
RUN apk add --no-cache ca-certificates && \
|
|
||||||
rm -rf /var/cache/apk/*
|
|
||||||
|
|
||||||
COPY release/linux/arm64/drone-upx /bin/
|
COPY release/linux/arm64/drone-upx /bin/
|
||||||
|
|
||||||
ENTRYPOINT ["/bin/drone-upx"]
|
ENTRYPOINT ["/bin/drone-upx"]
|
||||||
|
|||||||
@@ -1,9 +0,0 @@
|
|||||||
FROM microsoft/nanoserver:10.0.14393.1884
|
|
||||||
|
|
||||||
ADD https://github.com/upx/upx/releases/download/v3.96/upx-3.96-amd64_linux.tar.xz /usr/local
|
|
||||||
RUN xz -d -c /usr/local/upx-3.96-amd64_linux.tar.xz | tar -xOf - upx-3.96-amd64_linux/upx > /bin/upx && \
|
|
||||||
chmod a+x /bin/upx
|
|
||||||
|
|
||||||
COPY drone-upx.exe /drone-upx.exe
|
|
||||||
|
|
||||||
ENTRYPOINT [ "\\drone-upx.exe" ]
|
|
||||||
@@ -17,9 +17,3 @@ manifests:
|
|||||||
architecture: arm64
|
architecture: arm64
|
||||||
os: linux
|
os: linux
|
||||||
variant: v8
|
variant: v8
|
||||||
-
|
|
||||||
image: cnbattle/drone-upx:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}linux-arm
|
|
||||||
platform:
|
|
||||||
architecture: arm
|
|
||||||
os: linux
|
|
||||||
variant: v7
|
|
||||||
|
|||||||
+56
-10
@@ -1,22 +1,68 @@
|
|||||||
|
// Package cmd main
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/cnbattle/drone-upx/cmd"
|
"errors"
|
||||||
|
"log"
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
|
"github.com/cnbattle/drone-upx/cmd"
|
||||||
|
|
||||||
|
"github.com/urfave/cli/v2"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
level string
|
// Version Version
|
||||||
saveFile string
|
Version string
|
||||||
originalFile string
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func main() {
|
||||||
level = os.Getenv("PLUGIN_LEVEL")
|
app := &cli.App{
|
||||||
saveFile = os.Getenv("PLUGIN_SAVE_FILE")
|
Name: "drone-upx",
|
||||||
originalFile = os.Getenv("PLUGIN_ORIGINAL_FILE")
|
Usage: "UPX - the Ultimate Packer for eXecutables.",
|
||||||
|
Copyright: "Copyright (c) 2020 Qi-ai Li",
|
||||||
|
Version: Version,
|
||||||
|
Authors: []*cli.Author{
|
||||||
|
{
|
||||||
|
Name: "Qi-ai Li",
|
||||||
|
Email: "qiaicn@gmail.com",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Flags: []cli.Flag{
|
||||||
|
&cli.StringFlag{
|
||||||
|
Name: "level, l",
|
||||||
|
Value: "5",
|
||||||
|
Usage: "upx level",
|
||||||
|
EnvVars: []string{"PLUGIN_LEVEL"},
|
||||||
|
},
|
||||||
|
|
||||||
|
&cli.StringFlag{
|
||||||
|
Name: "originalFile, of",
|
||||||
|
Usage: "original file",
|
||||||
|
EnvVars: []string{"PLUGIN_ORIGINAL_FILE"},
|
||||||
|
},
|
||||||
|
|
||||||
|
&cli.StringFlag{
|
||||||
|
Name: "saveFile, sf",
|
||||||
|
Usage: "save file name",
|
||||||
|
EnvVars: []string{"PLUGIN_SAVE_FILE"},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Action: run,
|
||||||
|
}
|
||||||
|
err := app.Run(os.Args)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func run(ctx *cli.Context) error {
|
||||||
cmd.Cmd("/bin/upx", "-"+level, "-o", saveFile, originalFile)
|
var level, originalFile, saveFile = ctx.String("level"), ctx.String("originalFile"), ctx.String("saveFile")
|
||||||
|
if len(originalFile) == 0 {
|
||||||
|
return errors.New("miss originalFile")
|
||||||
|
}
|
||||||
|
if len(saveFile) == 0 {
|
||||||
|
return errors.New("miss saveFile")
|
||||||
|
}
|
||||||
|
return cmd.Cmd("/bin/upx", "-"+level, "-o", saveFile, originalFile)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,11 @@
|
|||||||
module github.com/cnbattle/drone-upx
|
module github.com/cnbattle/drone-upx
|
||||||
|
|
||||||
go 1.13
|
go 1.19
|
||||||
|
|
||||||
|
require github.com/urfave/cli/v2 v2.20.3
|
||||||
|
|
||||||
|
require (
|
||||||
|
github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect
|
||||||
|
github.com/russross/blackfriday/v2 v2.1.0 // indirect
|
||||||
|
github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 // indirect
|
||||||
|
)
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w=
|
||||||
|
github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
|
||||||
|
github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
|
||||||
|
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
||||||
|
github.com/urfave/cli/v2 v2.20.3 h1:lOgGidH/N5loaigd9HjFsOIhXSTrzl7tBpHswZ428w4=
|
||||||
|
github.com/urfave/cli/v2 v2.20.3/go.mod h1:1CNUng3PtjQMtRzJO4FMXBQvkGtuYRxxiR9xMa7jMwI=
|
||||||
|
github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 h1:bAn7/zixMGCfxrRTfdpNzjtPYqr8smhKouy9mxVdGPU=
|
||||||
|
github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673/go.mod h1:N3UwUGtsrSj3ccvlPHLoLsHnpR27oXr4ZE984MbSER8=
|
||||||
Reference in New Issue
Block a user