From dee8e0d07173a93c0e4f315f939f41856546655d Mon Sep 17 00:00:00 2001 From: Stille Date: Tue, 8 Feb 2022 23:59:15 +0800 Subject: [PATCH] Update v0.39.0 --- .github/workflows/build.yml | 49 --------------- .github/workflows/docker-build-release.yml | 72 ++++++++++++++++++++++ Dockerfile | 30 +++++---- frps_linux_install.sh | 2 +- frps_linux_uninstall.sh | 2 +- 5 files changed, 88 insertions(+), 67 deletions(-) delete mode 100644 .github/workflows/build.yml create mode 100644 .github/workflows/docker-build-release.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml deleted file mode 100644 index 2060d06..0000000 --- a/.github/workflows/build.yml +++ /dev/null @@ -1,49 +0,0 @@ -name: "build for docker" - -on: - push: - paths: - - 'Dockerfile' - - -jobs: - build: - runs-on: ubuntu-latest - env: - ACTIONS_ALLOW_UNSECURE_COMMANDS: true - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Set tag - id: tag - run: | - TAG=$(cat Dockerfile | awk 'NR==4 {print $3}') - echo "::set-env name=TAG::$TAG" - - name: Docker Hub login - env: - DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} - DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} - run: | - echo "${DOCKER_PASSWORD}" | docker login --username ${DOCKER_USERNAME} --password-stdin - - name: Set up Docker Buildx - id: buildx - uses: crazy-max/ghaction-docker-buildx@v1 - with: - buildx-version: latest - - name: Build Dockerfile - env: - DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} - run: | - docker buildx build \ - --platform=linux/amd64,linux/arm64 \ - --output "type=image,push=true" \ - --file ./Dockerfile . \ - --tag $(echo "${DOCKER_USERNAME}" | tr '[:upper:]' '[:lower:]')/${{ github.event.repository.name }}:latest \ - --tag $(echo "${DOCKER_USERNAME}" | tr '[:upper:]' '[:lower:]')/${{ github.event.repository.name }}:${TAG} - - name: Sync README.md - uses: ms-jpq/sync-dockerhub-readme@v1 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - repository: ${{ secrets.DOCKER_USERNAME }}/${{ github.event.repository.name }} - readme: "README.md" \ No newline at end of file diff --git a/.github/workflows/docker-build-release.yml b/.github/workflows/docker-build-release.yml new file mode 100644 index 0000000..1ea525a --- /dev/null +++ b/.github/workflows/docker-build-release.yml @@ -0,0 +1,72 @@ +name: "docker build release" + +on: + push: + workflow_dispatch: + +env: + PROJECT: frps + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2.3.5 + + - name: Set tag + id: tag + run: | + if [[ -n $(cat Dockerfile | awk '{if($1~"ENV" && $2=="VERSION")print $3}') ]]; then + VERSION=$(cat Dockerfile | awk '{if($1~"ENV" && $2=="VERSION")print $3}') + echo "tag=$VERSION" >> $GITHUB_ENV + else + echo "tag=$(date +%Y)-$(date +%m)-$(date +%d)" >> $GITHUB_ENV + fi + + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + + - name: Login Docker Hub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Build and push to docker hub + uses: docker/build-push-action@v2 + with: + context: . + platforms: linux/amd64,linux/arm64 + push: true + tags: | + ${{ secrets.DOCKER_USERNAME }}/${{ env.PROJECT }}:latest + ${{ secrets.DOCKER_USERNAME }}/${{ env.PROJECT }}:${{ env.tag }} + + - name: Sync README.md to Docker Hub + uses: ms-jpq/sync-dockerhub-readme@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + repository: ${{ secrets.DOCKER_USERNAME }}/${{ env.PROJECT }} + readme: "./README.md" + + - name: Login harbor + uses: docker/login-action@v1 + with: + registry: ${{ secrets.HARBOR_REGISTRY }} + username: ${{ secrets.HARBOR_USERNAME }} + password: ${{ secrets.HARBOR_PASSWORD }} + + - name: Build and push to harbor + uses: docker/build-push-action@v2 + with: + context: . + platforms: linux/amd64,linux/arm64 + push: true + tags: | + ${{ secrets.HARBOR_REGISTRY }}/${{ secrets.HARBOR_USERNAME }}/${{ env.PROJECT }}:latest + ${{ secrets.HARBOR_REGISTRY }}/${{ secrets.HARBOR_USERNAME }}/${{ env.PROJECT }}:${{ env.tag }} diff --git a/Dockerfile b/Dockerfile index df2be5e..b590774 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,24 +1,22 @@ FROM alpine:3.8 -MAINTAINER Stille +LABEL maintainer="Stille " -ENV FRP_VERSION 0.38.0 +ENV VERSION 0.39.0 +ENV TZ=Asia/Shanghai WORKDIR / -RUN set -xe && \ - apk add tzdata && \ - cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \ - echo "Asia/Shanghai" > /etc/timezone && \ - apk del tzdata +RUN apk add --no-cache tzdata \ + && ln -snf /usr/share/zoneinfo/${TZ} /etc/localtime \ + && echo ${TZ} > /etc/timezone -RUN set -x && \ - if [ "$(uname -m)" = "x86_64" ]; then export PLATFORM=amd64 ; else if [ "$(uname -m)" = "aarch64" ]; then export PLATFORM=arm64 ; fi fi && \ - wget --no-check-certificate https://github.com/fatedier/frp/releases/download/v${FRP_VERSION}/frp_${FRP_VERSION}_linux_${PLATFORM}.tar.gz && \ - tar xzf frp_${FRP_VERSION}_linux_${PLATFORM}.tar.gz && \ - cd frp_${FRP_VERSION}_linux_${PLATFORM} && \ - mkdir /frp && \ - mv frps frps.ini /frp && \ - cd .. && \ - rm -rf *.tar.gz frp_${FRP_VERSION}_linux_${PLATFORM} +RUN if [ "$(uname -m)" = "x86_64" ]; then export PLATFORM=amd64 ; else if [ "$(uname -m)" = "aarch64" ]; then export PLATFORM=arm64 ; fi fi \ + && wget --no-check-certificate https://github.com/fatedier/frp/releases/download/v${VERSION}/frp_${VERSION}_linux_${PLATFORM}.tar.gz \ + && tar xzf frp_${VERSION}_linux_${PLATFORM}.tar.gz \ + && cd frp_${VERSION}_linux_${PLATFORM} \ + && mkdir /frp \ + && mv frps frps.ini /frp \ + && cd .. \ + && rm -rf *.tar.gz frp_${VERSION}_linux_${PLATFORM} VOLUME /frp diff --git a/frps_linux_install.sh b/frps_linux_install.sh index f114383..86688e9 100644 --- a/frps_linux_install.sh +++ b/frps_linux_install.sh @@ -12,7 +12,7 @@ Font="\033[0m" # fonts color # variable -FRP_VERSION=0.38.0 +FRP_VERSION=0.39.0 REPO=stilleshan/frps WORK_PATH=$(dirname $(readlink -f $0)) FRP_NAME=frps diff --git a/frps_linux_uninstall.sh b/frps_linux_uninstall.sh index 6863390..66b81ab 100644 --- a/frps_linux_uninstall.sh +++ b/frps_linux_uninstall.sh @@ -14,7 +14,7 @@ Font="\033[0m" # variable WORK_PATH=$(dirname $(readlink -f $0)) FRP_NAME=frps -FRP_VERSION=0.38.0 +FRP_VERSION=0.39.0 FRP_PATH=/usr/local/frp # 停止frpc