2023-05-08 20:11:51 +09:00
|
|
|
|
# docker-image.yml
|
|
|
|
|
name: Publish Docker image # workflow名称,可以在Github项目主页的【Actions】中看到所有的workflow
|
|
|
|
|
|
|
|
|
|
on: # 配置触发workflow的事件
|
|
|
|
|
push:
|
|
|
|
|
tags: # tag更新时触发此workflow
|
|
|
|
|
- '*'
|
|
|
|
|
|
|
|
|
|
jobs: # workflow中的job
|
|
|
|
|
|
|
|
|
|
push_to_registry: # job的名字
|
|
|
|
|
name: Push Docker image to Docker Hub
|
|
|
|
|
runs-on: ubuntu-latest # job运行的基础环境
|
|
|
|
|
|
|
|
|
|
steps: # 一个job由一个或多个step组成
|
|
|
|
|
- name: Check out the repo
|
|
|
|
|
uses: actions/checkout@v2 # 官方的action,获取代码
|
|
|
|
|
|
|
|
|
|
- name: Log in to Docker Hub
|
|
|
|
|
uses: docker/login-action@v1 # 三方的action操作, 执行docker login
|
|
|
|
|
with:
|
|
|
|
|
username: ${{ secrets.DOCKERHUB_USERNAME }} # 配置dockerhub的认证,在Github项目主页 【Settings】 -> 【Secrets】 添加对应变量
|
|
|
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
|
|
|
|
|
|
|
|
- name: Extract metadata (tags, labels) for Docker
|
|
|
|
|
id: meta
|
|
|
|
|
uses: docker/metadata-action@v3 # 抽取项目信息,主要是镜像的tag
|
|
|
|
|
with:
|
2023-06-23 20:23:44 +09:00
|
|
|
|
images: ${{ secrets.DOCKER_IMAGE_NAME }}
|
2023-05-08 20:11:51 +09:00
|
|
|
|
|
|
|
|
|
- name: Build and push Docker image
|
|
|
|
|
uses: docker/build-push-action@v2 # docker build & push
|
|
|
|
|
with:
|
|
|
|
|
context: .
|
|
|
|
|
push: true
|
|
|
|
|
tags: ${{ steps.meta.outputs.tags }}
|
|
|
|
|
labels: ${{ steps.meta.outputs.labels }}
|