commit 5ae5c2e0776d525ef736b2b95c6ebb4f2a63021f Author: cnbattle Date: Fri Dec 20 23:20:07 2019 +0800 init diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..62e7820 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +# Created by .ignore support plugin (hsz.mobi) +.idea \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..aae1343 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,8 @@ +FROM alpine + +ADD drone-upx /bin/ +ADD upx /bin/ + +#RUN apk -Uuv add ca-certificates + +ENTRYPOINT /bin/drone-upx diff --git a/README.md b/README.md new file mode 100644 index 0000000..5085fbc --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +# drone-upx + diff --git a/cmd/cmd.go b/cmd/cmd.go new file mode 100644 index 0000000..8356991 --- /dev/null +++ b/cmd/cmd.go @@ -0,0 +1,23 @@ +package cmd + +import ( + "bytes" + "fmt" + "os/exec" +) + +func Cmd(name string, arg ...string) { + fmt.Println(name, arg) + cmd0 := exec.Command(name, arg...) + var outputBuf1 bytes.Buffer + cmd0.Stdout = &outputBuf1 + if err := cmd0.Start(); err != nil { + fmt.Printf("Error: The first command can not be startup %s\n", err) + return + } + if err := cmd0.Wait(); err != nil { + fmt.Printf("Error: Couldn't wait for the second command: %s\n", err) + return + } + fmt.Printf("%s\n", outputBuf1.Bytes()) +} diff --git a/drone-upx.go b/drone-upx.go new file mode 100644 index 0000000..7c324da --- /dev/null +++ b/drone-upx.go @@ -0,0 +1,22 @@ +package main + +import ( + "github.com/cnbattle/drone-upx/cmd" + "os" +) + +var ( + level string + saveFile string + originalFile string +) + +func init() { + level = os.Getenv("PLUGIN_LEVEL") + saveFile = os.Getenv("PLUGIN_SAVE_FILE") + originalFile = os.Getenv("PLUGIN_ORIGINAL_FILE") +} + +func main() { + cmd.Cmd("/bin/upx", "-"+level, "-o", saveFile, originalFile) +} diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..0ab4191 --- /dev/null +++ b/go.mod @@ -0,0 +1,3 @@ +module github.com/cnbattle/drone-upx + +go 1.13 diff --git a/upx b/upx new file mode 100644 index 0000000..1c53e84 Binary files /dev/null and b/upx differ