GitHub CI流水线
build.yml
路径:.github/workflows/build.yml
name: Docker Image CI
on:
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 8
uses: actions/setup-java@v4
with:
java-version: '8'
distribution: 'temurin'
cache: maven
# 编译打包
- name: Build with Maven
run: |
mvn package -Dmaven.test.skip=true -s settings.xml
# 登录Docker Hub
- name: Build the Docker image
run: |
docker version
# 登录阿里云镜像仓库
docker login --username=${{ secrets.DEST_REGISTRY_USER }} --password=${{ secrets.DEST_REGISTRY_PASSWORD }} ${{ vars.DEST_REGISTRY_URL }}
# 使用Dockerfile构建镜像
docker build . --file Dockerfile --tag ${{ vars.DEST_REGISTRY_URL }}/${{ vars.DEST_REGISTRY_NAMESPACE }}/${{ vars.IMAGE_NAME }}:${{ github.run_id }}
# 推送镜像到镜像仓库
docker push ${{ vars.DEST_REGISTRY_URL }}/${{ vars.DEST_REGISTRY_NAMESPACE }}/${{ vars.IMAGE_NAME }}:${{ github.run_id }}
变量
# 已配置全局
secrets:DEST_REGISTRY_USER *****
secrets:DEST_REGISTRY_PASSWORD *****
vars:DEST_REGISTRY_URL *****
vars:DEST_REGISTRY_NAMESPACE *****
# Repository variables
vars:IMAGE_NAME $APPNAME