1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- name: publish-docker
- on:
- push:
- branches:
- - dev
- release:
- types:
- - released
- jobs:
- build:
- if: github.repository == 'apache/dolphinscheduler'
- runs-on: ubuntu-latest
- permissions:
- contents: read
- packages: write
- timeout-minutes: 30
- steps:
- - uses: actions/checkout@v2
- - name: Cache local Maven repository
- uses: actions/cache@v3
- with:
- path: ~/.m2/repository
- key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}-docker
- restore-keys: ${{ runner.os }}-maven-
- - name: Set environment variables
- run: |
- if [[ ${{ github.event_name }} == "release" ]]; then
- echo "DOCKER_REGISTRY=docker.io" >> $GITHUB_ENV
- echo "DOCKER_USERNAME=${{ secrets.DOCKERHUB_USER }}" >> $GITHUB_ENV
- echo "DOCKER_PASSWORD=${{ secrets.DOCKERHUB_TOKEN }}" >> $GITHUB_ENV
- echo "HUB=apache" >> $GITHUB_ENV
- echo "DOCKER_TAG=${{ github.event.release.tag_name }}" >> $GITHUB_ENV
- else
- echo "DOCKER_REGISTRY=ghcr.io/apache/dolphinscheduler" >> $GITHUB_ENV
- echo "DOCKER_USERNAME=${{ github.actor }}" >> $GITHUB_ENV
- echo "DOCKER_PASSWORD=${{ secrets.GITHUB_TOKEN }}" >> $GITHUB_ENV
- echo "HUB=ghcr.io/apache/dolphinscheduler" >> $GITHUB_ENV
- echo "DOCKER_TAG=${{ github.sha }}" >> $GITHUB_ENV
- fi
- - name: Log in to the Container registry
- uses: docker/login-action@v2
- with:
- registry: ${{ env.DOCKER_REGISTRY }}
- username: ${{ env.DOCKER_USERNAME }}
- password: ${{ env.DOCKER_PASSWORD }}
- - name: Set up QEMU
- uses: docker/setup-qemu-action@v2
- - name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v2
- - name: Build and push docker images
- run: |
- ./mvnw -B clean deploy \
- -Dmaven.test.skip \
- -Dmaven.javadoc.skip \
- -Dspotless.skip=true \
- -Dmaven.deploy.skip \
- -Ddocker.tag=${{ env.DOCKER_TAG }} \
- -Ddocker.hub=${{ env.HUB }} \
- -Pdocker,release
|