From 4da588d4065b6dde39d45a0dd0a7a65bb98dc7bd Mon Sep 17 00:00:00 2001 From: vcptr <51714622+vcptr@users.noreply.github.com> Date: Thu, 31 Oct 2019 11:20:06 +0800 Subject: [PATCH 1/2] add abpath to user-package --- Dockerfile | 17 +++++++++++++++++ release/user-package.sh | 18 +++++++++++++++--- 2 files changed, 32 insertions(+), 3 deletions(-) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..847868aa --- /dev/null +++ b/Dockerfile @@ -0,0 +1,17 @@ +############################ +# STEP 1 build executable binary +############################ +FROM golang:alpine AS builder +RUN apk update && apk add --no-cache git bash wget +WORKDIR /go/src/v2ray.com/core +RUN git clone --progress --depth=1 --branch dockerdev https://github.com/v2fly/v2ray-core.git . && \ + bash -x ./release/user-package.sh nosource noconf abpathtgz=/tmp/v2ray.tgz +############################ +# STEP 2 build a small image +############################ +FROM alpine +COPY --from=builder /tmp/v2ray.tgz /tmp +RUN apk update && apk add ca-certificates && \ + mkdir -p /usr/bin/v2ray && \ + tar xvfz /tmp/v2ray.tgz -C /usr/bin/v2ray +ENTRYPOINT ["/usr/bin/v2ray/v2ray"] diff --git a/release/user-package.sh b/release/user-package.sh index 06c32c8a..37265ff4 100755 --- a/release/user-package.sh +++ b/release/user-package.sh @@ -86,6 +86,14 @@ packtgz() { echo ">>> Generated: $(basename $PKG)" } +packtgzAbPath() { + local ABPATH="$1" + echo ">>> Generating tgz package at $ABPATH" + pushd $TMP + tar cvfz $ABPATH . + echo ">>> Generated: $ABPATH" +} + pkg=zip nosource=0 @@ -127,6 +135,9 @@ case $arg in tgz) pkg=tgz ;; + abpathtgz=*) + pkg=${arg##abpathtgz=} + ;; esac done @@ -147,11 +158,12 @@ fi if [[ $pkg == "zip" ]]; then packzip +elif [[ $pkg == "tgz" ]]; then + packtgz +else + packtgzAbPath $pkg fi -if [[ $pkg == "tgz" ]]; then - packtgz -fi cleanup From bec564b45579d17b5902b418e7b3f48561ea957b Mon Sep 17 00:00:00 2001 From: vcptr <51714622+vcptr@users.noreply.github.com> Date: Thu, 31 Oct 2019 11:44:57 +0800 Subject: [PATCH 2/2] adjust args --- Dockerfile | 4 ++-- release/user-package.sh | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 847868aa..3424bfd6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,8 +4,8 @@ FROM golang:alpine AS builder RUN apk update && apk add --no-cache git bash wget WORKDIR /go/src/v2ray.com/core -RUN git clone --progress --depth=1 --branch dockerdev https://github.com/v2fly/v2ray-core.git . && \ - bash -x ./release/user-package.sh nosource noconf abpathtgz=/tmp/v2ray.tgz +RUN git clone --progress --depth=1 https://github.com/v2fly/v2ray-core.git . && \ + bash ./release/user-package.sh nosource noconf abpathtgz=/tmp/v2ray.tgz ############################ # STEP 2 build a small image ############################ diff --git a/release/user-package.sh b/release/user-package.sh index 37265ff4..00ed3ff9 100755 --- a/release/user-package.sh +++ b/release/user-package.sh @@ -138,6 +138,12 @@ case $arg in abpathtgz=*) pkg=${arg##abpathtgz=} ;; + codename=*) + CODENAME=${arg##codename=} + ;; + buildname=*) + BUILDNAME=${arg##buildname=} + ;; esac done @@ -146,6 +152,8 @@ if [[ $nosource != 1 ]]; then fi export GOOS GOARCH +echo "Build ARGS: GOOS=${GOOS} GOARCH=${GOARCH} CODENAME=${CODENAME} BUILDNAME=${BUILDNAME}" +echo "PKG ARGS: pkg=${pkg}" build_v2 if [[ $nodat != 1 ]]; then