diff --git a/.github/workflows/docker-build-release.yml b/.github/workflows/docker-build-release.yml index 761e5a9..fa8f18f 100644 --- a/.github/workflows/docker-build-release.yml +++ b/.github/workflows/docker-build-release.yml @@ -18,8 +18,8 @@ jobs: - name: Set tag id: tag run: | - if [[ -n $(cat ${{ github.event.inputs.project }}/Dockerfile | awk '{if($1~"ENV" && $2~"VERSION")print $3}') ]]; then - VERSION=$(cat ${{ github.event.inputs.project }}/Dockerfile | awk '{if($1~"ENV" && $2~"VERSION")print $3}') + if [[ -n $(cat ${{ github.event.inputs.project }}/Dockerfile | awk '{if($1~"ENV" && $2=="VERSION")print $3}') ]]; then + VERSION=$(cat ${{ github.event.inputs.project }}/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 @@ -28,34 +28,46 @@ jobs: - name: Set up QEMU uses: docker/setup-qemu-action@v1 - - 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 + uses: docker/setup-buildx-action@v1 + + - name: Login Docker Hub + uses: docker/login-action@v1 with: - buildx-version: latest + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} - - name: Build Dockerfile - env: - DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} - run: | - docker buildx build \ - --platform=linux/amd64,linux/arm64 \ - --output "type=image,push=true" \ - --file ${{ github.event.inputs.project }}/Dockerfile ./${{ github.event.inputs.project }} \ - --tag $(echo "${DOCKER_USERNAME}" | tr '[:upper:]' '[:lower:]')/${{ github.event.inputs.project }}:latest \ - --tag $(echo "${DOCKER_USERNAME}" | tr '[:upper:]' '[:lower:]')/${{ github.event.inputs.project }}:${{ env.tag }} + - name: Build and push to docker hub + uses: docker/build-push-action@v2 + with: + context: ${{ github.event.inputs.project }} + platforms: linux/amd64,linux/arm64 + push: true + tags: | + ${{ secrets.DOCKER_USERNAME }}/${{ github.event.inputs.project }}:latest + ${{ secrets.DOCKER_USERNAME }}/${{ github.event.inputs.project }}:${{ env.tag }} - - name: Sync README.md + - 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 }}/${{ github.event.inputs.project }} readme: "${{ github.event.inputs.project }}/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: ${{ github.event.inputs.project }} + platforms: linux/amd64,linux/arm64 + push: true + tags: | + ${{ secrets.HARBOR_REGISTRY }}/${{ secrets.HARBOR_USERNAME }}/${{ github.event.inputs.project }}:latest + ${{ secrets.HARBOR_REGISTRY }}/${{ secrets.HARBOR_USERNAME }}/${{ github.event.inputs.project }}:${{ env.tag }}