Skip to content

PIG 镜像 action

PIG 镜像 action #75

Workflow file for this run

name: PIG 镜像 action
on:
workflow_dispatch:
inputs:
IMAGE_NAME:
description: '原镜像名称'
required: true
default: 'mysql/mysql-server'
NEW_NAME:
description: '同步后镜像名称'
required: true
default: 'mysql-server'
IMAGE_VERSION:
description: '镜像版本'
required: true
default: 'latest'
TARGET_REGISTRY:
description: '仓库地址'
required: true
default: 'registry.cn-hangzhou.aliyuncs.com'
TARGET_REPOSITORY:
description: '空间名称'
required: true
default: 'dockerhub_mirror'
jobs:
build:
runs-on: ubuntu-latest
env:
QYWX_ROBOT_URL: ${{ secrets.QYWX_ROBOT_URL }}
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Registry
run: docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} ${{ github.event.inputs.TARGET_REGISTRY }}
- name: Pull and push all platform images
run: |
# 创建一个新的 builder 实例
docker buildx create --use
# 拉取源镜像的 manifest list
docker buildx imagetools inspect ${{ github.event.inputs.IMAGE_NAME }}:${{ github.event.inputs.IMAGE_VERSION }}
# 使用 buildx 拉取并推送所有架构的镜像
docker buildx imagetools create \
--tag ${{ github.event.inputs.TARGET_REGISTRY }}/${{ github.event.inputs.TARGET_REPOSITORY }}/${{ github.event.inputs.NEW_NAME }}:${{ github.event.inputs.IMAGE_VERSION }} \
${{ github.event.inputs.IMAGE_NAME }}:${{ github.event.inputs.IMAGE_VERSION }}
- name: qyweixin send message
if: ${{ env.QYWX_ROBOT_URL != '' }}
uses: chf007/action-wechat-work@master
env:
WECHAT_WORK_BOT_WEBHOOK: ${{secrets.QYWX_ROBOT_URL}}
IMAGE_URL: ${{ github.event.inputs.TARGET_REGISTRY }}/${{ github.event.inputs.TARGET_REPOSITORY }}/${{ github.event.inputs.NEW_NAME }}:${{ github.event.inputs.IMAGE_VERSION }}
with:
msgtype: markdown
content: |
# 镜像同步成功(多架构)
```
${{ env.IMAGE_URL }}
支持的架构:
$(docker buildx imagetools inspect ${{ env.IMAGE_URL }} | grep -A 5 "Platform:")
```