Skip to content

Release Manually

Release Manually #151

name: Release Manually
on:
workflow_dispatch:
inputs:
job:
description: 'which docker build to run'
required: true
default: 'rocketmq-exporter'
type: choice
options:
- 'rocketmq-exporter'
- 'rocketmq-operator'
- 'rocketmq-nameserver'
- 'rocketmq-broker'
- 'rocketmq-dashboard'
- 'rocketmq-controller'
- 'community-server'
- 'community-router'
- 'community-operator'
- 'pgbouncer'
- 'rclone-mongo'
- 'ot-redis-operator'
- 'ot-redis-operator-upstream'
- 'ot-redis'
- 'ot-redis-upstream'
- 'zoo-entrance'
- 'logical-backup'
- 'ci-builder'
upstream-ref:
description: 'upstream ref'
required: false
default: ''
type: string
tag:
description: 'tag'
required: true
default: 'v0.0.1'
type: string
env:
ONLINE_REGISTER: ghcr.io/ksmartdata
BUILD_PLATFORM: linux/amd64,linux/arm64
jobs:
ci-builder:
if : ${{ inputs.job == 'ci-builder' }}
runs-on: ubuntu-latest
steps:
- name: Git clone repo
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/[email protected]
- name: ci-builder
uses: docker/[email protected]
with:
context: ./arm64/images/ci-builder
file: ./arm64/images/ci-builder/Dockerfile
github-token: ${{ secrets.GITHUB_TOKEN }}
push: true
platforms: ${{ env.BUILD_PLATFORM }}
tags: |
${{ env.ONLINE_REGISTER }}/ci-builder:${{ inputs.tag }}
${{ env.ONLINE_REGISTER }}/ci-builder:latest
cache-from: type=gha
cache-to: type=gha,mode=max
logical-backup:
if : ${{ inputs.job == 'logical-backup' }}
runs-on: ubuntu-latest
steps:
- name: Git clone repo
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/[email protected]
- name: logical-backup
uses: docker/[email protected]
with:
context: ./arm64/images/logical-backup
file: ./arm64/images/logical-backup/Dockerfile
github-token: ${{ secrets.GITHUB_TOKEN }}
push: true
platforms: ${{ env.BUILD_PLATFORM }}
tags: |
${{ env.ONLINE_REGISTER }}/logical-backup:${{ inputs.tag }}
${{ env.ONLINE_REGISTER }}/logical-backup:latest
cache-from: type=gha
cache-to: type=gha,mode=max
ot-redis-upstream:
if : ${{ inputs.job == 'ot-redis-upstream' }}
runs-on: ubuntu-latest
steps:
- name: Git Clone OT-CONTAINER-KIT/redis
uses: actions/checkout@v3
with:
repository: drivebyer/redis
# 默认为空,则使用默认分支
ref: ${{ inputs.upstream-ref }}
- name: Adapt
run: |
# 删除 entrypoint.sh 文件中的行:REDIS_MAJOR_VERSION=${REDIS_MAJOR_VERSION:-"v7"}
# 因为老版本的 OT operator 不会给 pod 传递 REDIS_MAJOR_VERSION 这个环境变量,会导致 entrypoint.sh 走到错误的逻辑流程
sed -i '/REDIS_MAJOR_VERSION=${REDIS_MAJOR_VERSION:-"v7"}/d' ./entrypoint.sh
# 将 entrypoint.sh 中的 NODE_CONF_DIR=${NODE_CONF_DIR:-"/node-conf"} 替换成 NODE_CONF_DIR=${NODE_CONF_DIR:-"/data"}
# 因为 /data 是 pvc 的默认挂载目录
sed -i 's/NODE_CONF_DIR=${NODE_CONF_DIR:-"\/node-conf"}/NODE_CONF_DIR=${NODE_CONF_DIR:-"\/data"}/g' ./entrypoint.sh
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Prepare env variables
id: env
run: |
echo "BUILD_DATE=$(date +'%Y-%m-%d %H:%M:%S')" >> $GITHUB_ENV
echo "GIT_SHA=$(git rev-parse --short HEAD | cut -c1-7)" >> $GITHUB_ENV
echo "GIT_REF=$(git symbolic-ref -q --short HEAD || git describe --tags --exact-match)" >> $GITHUB_ENV
echo "GIT_REPO=$(git config --get remote.origin.url)" >> $GITHUB_ENV
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/[email protected]
- name: Build && Push
uses: docker/[email protected]
with:
outputs: type=image,name=target,annotation-index.org.opencontainers.image.description=Build from ${{ env.GIT_REPO }}/${{ env.GIT_REF }}@${{ env.GIT_SHA }} at ${{ env.BUILD_DATE }}
labels:
org.opencontainers.image.description=Build from ${{ env.GIT_REPO }}/${{ env.GIT_REF }}@${{ env.GIT_SHA }} at ${{ env.BUILD_DATE }}
context: .
file: ./Dockerfile
github-token: ${{ secrets.GITHUB_TOKEN }}
push: true
platforms: ${{ env.BUILD_PLATFORM }}
build-args: |
REDIS_DOWNLOAD_URL=https://download.redis.io/releases
REDIS_VERSION=${{ inputs.tag }}
tags: |
${{ env.ONLINE_REGISTER }}/ot-redis:v${{ inputs.tag }}-alpine
${{ env.ONLINE_REGISTER }}/ot-redis:latest
cache-from: type=gha
cache-to: type=gha,mode=max
ot-redis-operator-upstream:
if : ${{ inputs.job == 'ot-redis-operator-upstream' }}
runs-on: ubuntu-latest
steps:
- name: Git Clone OT-CONTAINER-KIT/redis-operator
uses: actions/checkout@v3
with:
repository: OT-CONTAINER-KIT/redis-operator
# 默认为空,则使用默认分支
ref: ${{ inputs.upstream-ref }}
- name: Prepare env variables
id: env
run: |
echo "BUILD_DATE=$(date +'%Y-%m-%d %H:%M:%S')" >> $GITHUB_ENV
echo "GIT_SHA=$(git rev-parse --short HEAD | cut -c1-7)" >> $GITHUB_ENV
echo "GIT_REF=$(git symbolic-ref -q --short HEAD || git describe --tags --exact-match)" >> $GITHUB_ENV
echo "GIT_REPO=$(git config --get remote.origin.url)" >> $GITHUB_ENV
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/[email protected]
- name: Build && Push
uses: docker/[email protected]
with:
outputs: type=image,name=target,annotation-index.org.opencontainers.image.description=Build from ${{ env.GIT_REPO }}/${{ env.GIT_REF }}@${{ env.GIT_SHA }} at ${{ env.BUILD_DATE }}
labels:
org.opencontainers.image.description=Build from ${{ env.GIT_REPO }} ${{ env.GIT_REF }} ${{ env.GIT_SHA }} at ${{ env.BUILD_DATE }}
context: .
file: ./Dockerfile
github-token: ${{ secrets.GITHUB_TOKEN }}
push: true
platforms: ${{ env.BUILD_PLATFORM }}
tags: |
${{ env.ONLINE_REGISTER }}/ot-redis-operator:${{ inputs.tag }}
${{ env.ONLINE_REGISTER }}/ot-redis-operator:latest
cache-from: type=gha
cache-to: type=gha,mode=max
rclone-mongo:
if : ${{ inputs.job == 'rclone-mongo' }}
runs-on: ubuntu-latest
steps:
- name: Git clone mysql-operator repo
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/[email protected]
- name: Build && Push
uses: docker/[email protected]
with:
annotations: |
GITHUB_REF: ${{ github.ref }}
GITHUB_SHA: ${{ github.sha }}
context: ./arm64/images/rclone-mongo
file: ./arm64/images/rclone-mongo/Dockerfile
github-token: ${{ secrets.GITHUB_TOKEN }}
push: true
platforms: ${{ env.BUILD_PLATFORM }}
tags: |
${{ env.ONLINE_REGISTER }}/rclone-mongo:${{ inputs.tag }}
cache-from: type=gha
cache-to: type=gha,mode=max
rocketmq-exporter:
if: ${{ inputs.job == 'rocketmq-exporter' }}
runs-on: ubuntu-latest
steps:
- name: Git clone repo
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
# - name: Clone RocketMQ Exporter
# uses: actions/checkout@v2
# with:
# repository: apache/rocketmq-exporter
# ref: master
# - name: Set Up Java
# uses: actions/setup-java@v3
# with:
# java-version: 8
# distribution: 'temurin'
# - name: Customize Build Files
# run: |
# sed -i 's/FROM java:8/FROM --platform=$TARGETPLATFORM openjdk:8-jre-alpine/g' src/main/docker/Dockerfile
#
# - name: Build RocketMQ Exporter Image
# run: |
# mvn package -Dmaven.test.skip=true docker:build
#
# docker tag rocketmq-exporter:latest ${{ env.ONLINE_REGISTER }}/rocketmq-exporter:v1.0.0
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/[email protected]
- name: Build && Push
uses: docker/[email protected]
with:
annotations: |
GITHUB_REF: ${{ github.ref }}
GITHUB_SHA: ${{ github.sha }}
context: ./arm64/images/
file: ./arm64/images/rocketmq-exporter/Dockerfile
github-token: ${{ secrets.GITHUB_TOKEN }}
push: true
platforms: ${{ env.BUILD_PLATFORM }}
tags: |
${{ env.ONLINE_REGISTER }}/${{ inputs.job }}:${{ inputs.tag }}
cache-from: type=gha
cache-to: type=gha,mode=max
rocketmq-operator:
if: ${{ inputs.job == 'rocketmq-operator' }}
runs-on: ubuntu-latest
steps:
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
# 使用官方的仓库,需要执行 make generate,但是下载 controller-gen 时不符合预期,所以临时使用 drivebyer/rocketmq-operator 仓库
# 待 https://github.com/apache/rocketmq-operator/pull/169 合并和,可以切换回官方仓库
- name: Clone RocketMQ Operator
uses: actions/checkout@v2
with:
repository: drivebyer/rocketmq-operator
ref: mcamel
- name: Generate missing files
run: |
go mod tidy
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/[email protected]
- name: Build && Push
uses: docker/[email protected]
with:
annotations: |
GITHUB_REF: ${{ github.ref }}
GITHUB_SHA: ${{ github.sha }}
context: .
github-token: ${{ secrets.GITHUB_TOKEN }}
push: true
build-args: |
TARGETOS=linux
platforms: ${{ env.BUILD_PLATFORM }}
tags: |
${{ env.ONLINE_REGISTER }}/${{ inputs.job }}:${{ inputs.tag }}
cache-from: type=gha
cache-to: type=gha,mode=max
rocketmq-nameserver:
if: ${{ inputs.job == 'rocketmq-nameserver' }}
runs-on: ubuntu-latest
steps:
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
# - name: Clone RocketMQ Operator
# uses: actions/checkout@v2
# with:
# repository: apache/rocketmq-operator
# ref: master
# 先暂时用自定义的镜像,待合并上游后,切换 todo(@drivebyer)
- name: Git clone mysql-operator repo
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/[email protected]
- name: Build && Push
uses: docker/[email protected]
with:
annotations: |
GITHUB_REF: ${{ github.ref }}
GITHUB_SHA: ${{ github.sha }}
context: ./arm64/images/rocketmq-nameserver/alpine
file: ./arm64/images/rocketmq-nameserver/alpine/Dockerfile
github-token: ${{ secrets.GITHUB_TOKEN }}
push: true
platforms: ${{ env.BUILD_PLATFORM }}
build-args: |
version=${{ inputs.tag }}
tags: |
${{ env.ONLINE_REGISTER }}/${{ inputs.job }}:v${{ inputs.tag }}
cache-from: type=gha
cache-to: type=gha,mode=max
rocketmq-controller:
if: ${{ inputs.job == 'rocketmq-controller' }}
runs-on: ubuntu-latest
steps:
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Clone RocketMQ Operator
uses: actions/checkout@v2
with:
repository: apache/rocketmq-operator
ref: master
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/[email protected]
- name: Build && Push
uses: docker/[email protected]
with:
annotations: |
GITHUB_REF: ${{ github.ref }}
GITHUB_SHA: ${{ github.sha }}
context: ./images/controller/alpine
file: ./images/controller/alpine/Dockerfile
github-token: ${{ secrets.GITHUB_TOKEN }}
push: true
platforms: ${{ env.BUILD_PLATFORM }}
build-args: |
version=${{ inputs.tag }}
tags: |
${{ env.ONLINE_REGISTER }}/${{ inputs.job }}:v${{ inputs.tag }}
cache-from: type=gha
cache-to: type=gha,mode=max
rocketmq-broker:
if: ${{ inputs.job == 'rocketmq-broker' }}
runs-on: ubuntu-latest
steps:
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Clone RocketMQ Operator
uses: actions/checkout@v2
with:
repository: apache/rocketmq-operator
ref: master
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/[email protected]
- name: Build && Push
uses: docker/[email protected]
with:
annotations: |
GITHUB_REF: ${{ github.ref }}
GITHUB_SHA: ${{ github.sha }}
context: ./images/broker/alpine
file: ./images/broker/alpine/Dockerfile
github-token: ${{ secrets.GITHUB_TOKEN }}
push: true
platforms: ${{ env.BUILD_PLATFORM }}
build-args: |
version=${{ inputs.tag }}
tags: |
${{ env.ONLINE_REGISTER }}/${{ inputs.job }}:v${{ inputs.tag }}
cache-from: type=gha
cache-to: type=gha,mode=max
rocketmq-dashboard:
if: ${{ inputs.job == 'rocketmq-dashboard' }}
runs-on: ubuntu-latest
steps:
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Clone RocketMQ Docker
uses: actions/checkout@v2
with:
repository: apache/rocketmq-docker
ref: master
- name: Customize RocketMQ Dashboard
run: |
# replace FROM centos:7 with FROM --platform=$TARGETPLATFORM centos:7 by sed
sed -i 's/FROM centos:7/FROM --platform=$TARGETPLATFORM centos:7/g' image-build/Dockerfile-centos-dashboard
# replace 3.6.3 to 3.9.4
sed -i 's/3.6.3/3.9.4/g' image-build/Dockerfile-centos-dashboard
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/[email protected]
- name: Build && Push
uses: docker/[email protected]
with:
annotations: |
GITHUB_REF: ${{ github.ref }}
GITHUB_SHA: ${{ github.sha }}
context: ./image-build
file: ./image-build/Dockerfile-centos-dashboard
github-token: ${{ secrets.GITHUB_TOKEN }}
push: true
platforms: ${{ env.BUILD_PLATFORM }}
build-args: |
version=${{ inputs.tag }}
tags: |
${{ env.ONLINE_REGISTER }}/${{ inputs.job }}:v${{ inputs.tag }}
cache-from: type=gha
cache-to: type=gha,mode=max
community-server:
if: ${{ inputs.job == 'community-server' }}
runs-on: ubuntu-latest
steps:
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Prepare images
run: |
docker pull container-registry.oracle.com/mysql/community-server:${{ inputs.tag }}
docker pull container-registry.oracle.com/mysql/community-server:${{ inputs.tag }}-aarch64
docker tag container-registry.oracle.com/mysql/community-server:${{ inputs.tag }} ${{ env.ONLINE_REGISTER }}/community-server:${{ inputs.tag }}-amd64
docker tag container-registry.oracle.com/mysql/community-server:${{ inputs.tag }}-aarch64 ${{ env.ONLINE_REGISTER }}/community-server:${{ inputs.tag }}-arm64
docker push ${{ env.ONLINE_REGISTER }}/community-server:${{ inputs.tag }}-amd64
docker push ${{ env.ONLINE_REGISTER }}/community-server:${{ inputs.tag }}-arm64
- name: Create and push manifest images
uses: Noelware/docker-manifest-action@master
with:
inputs: ${{ env.ONLINE_REGISTER }}/${{ inputs.job }}:${{ inputs.tag }}
images: ${{ env.ONLINE_REGISTER }}/community-server:${{ inputs.tag }}-amd64,${{ env.ONLINE_REGISTER }}/community-server:${{ inputs.tag }}-arm64
push: true
community-router:
if: ${{ inputs.job == 'community-router' }}
runs-on: ubuntu-latest
steps:
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Prepare images
run: |
docker pull container-registry.oracle.com/mysql/community-router:${{ inputs.tag }}
docker pull container-registry.oracle.com/mysql/community-router:${{ inputs.tag }}-aarch64
docker tag container-registry.oracle.com/mysql/community-router:${{ inputs.tag }} ${{ env.ONLINE_REGISTER }}/community-router:${{ inputs.tag }}-amd64
docker tag container-registry.oracle.com/mysql/community-router:${{ inputs.tag }}-aarch64 ${{ env.ONLINE_REGISTER }}/community-router:${{ inputs.tag }}-arm64
docker push ${{ env.ONLINE_REGISTER }}/community-router:${{ inputs.tag }}-amd64
docker push ${{ env.ONLINE_REGISTER }}/community-router:${{ inputs.tag }}-arm64
- name: Create and push manifest images
uses: Noelware/docker-manifest-action@master
with:
inputs: ${{ env.ONLINE_REGISTER }}/${{ inputs.job }}:${{ inputs.tag }}
images: ${{ env.ONLINE_REGISTER }}/community-router:${{ inputs.tag }}-amd64,${{ env.ONLINE_REGISTER }}/community-router:${{ inputs.tag }}-arm64
push: true
community-operator:
if: ${{ inputs.job == 'community-operator' }}
runs-on: ubuntu-latest
steps:
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Prepare images
run: |
docker pull container-registry.oracle.com/mysql/community-operator:${{ inputs.tag }}
docker pull container-registry.oracle.com/mysql/community-operator:${{ inputs.tag }}-aarch64
docker tag container-registry.oracle.com/mysql/community-operator:${{ inputs.tag }} ${{ env.ONLINE_REGISTER }}/community-operator:${{ inputs.tag }}-amd64
docker tag container-registry.oracle.com/mysql/community-operator:${{ inputs.tag }}-aarch64 ${{ env.ONLINE_REGISTER }}/community-operator:${{ inputs.tag }}-arm64
docker push ${{ env.ONLINE_REGISTER }}/community-operator:${{ inputs.tag }}-amd64
docker push ${{ env.ONLINE_REGISTER }}/community-operator:${{ inputs.tag }}-arm64
- name: Create and push manifest images
uses: Noelware/docker-manifest-action@master
with:
inputs: ${{ env.ONLINE_REGISTER }}/${{ inputs.job }}:${{ inputs.tag }}
images: ${{ env.ONLINE_REGISTER }}/community-operator:${{ inputs.tag }}-amd64,${{ env.ONLINE_REGISTER }}/community-operator:${{ inputs.tag }}-arm64
push: true
- name: Prepare images sidecar(used for initconf, sidecar, batchjob/backup)
run: |
docker pull container-registry.oracle.com/mysql/community-operator:${{ inputs.tag }}-2.1.1
docker pull container-registry.oracle.com/mysql/community-operator:${{ inputs.tag }}-2.1.1-aarch64
docker tag container-registry.oracle.com/mysql/community-operator:${{ inputs.tag }}-2.1.1 ${{ env.ONLINE_REGISTER }}/community-operator:${{ inputs.tag }}-2.1.1-amd64
docker tag container-registry.oracle.com/mysql/community-operator:${{ inputs.tag }}-2.1.1-aarch64 ${{ env.ONLINE_REGISTER }}/community-operator:${{ inputs.tag }}-2.1.1-arm64
docker push ${{ env.ONLINE_REGISTER }}/community-operator:${{ inputs.tag }}-2.1.1-amd64
docker push ${{ env.ONLINE_REGISTER }}/community-operator:${{ inputs.tag }}-2.1.1-arm64
- name: Create and push manifest images sidecar(used for initconf, sidecar, batchjob/backup)
uses: Noelware/docker-manifest-action@master
with:
inputs: ${{ env.ONLINE_REGISTER }}/${{ inputs.job }}:${{ inputs.tag }}-2.1.1
images: ${{ env.ONLINE_REGISTER }}/community-operator:${{ inputs.tag }}-2.1.1-amd64,${{ env.ONLINE_REGISTER }}/community-operator:${{ inputs.tag }}-2.1.1-arm64
push: true
pgbouncer:
if: ${{ inputs.job == 'pgbouncer' }}
runs-on: ubuntu-latest
steps:
- name: Git clone repo
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/[email protected]
- name: Build && Push
uses: docker/[email protected]
with:
annotations: |
GITHUB_REF: ${{ github.ref }}
GITHUB_SHA: ${{ github.sha }}
context: ./arm64/images/
file: ./arm64/images/pgbouncer/Dockerfile
github-token: ${{ secrets.GITHUB_TOKEN }}
push: true
#platforms: ${{ env.BUILD_PLATFORM }} 目前只有 amd,先注释掉
tags: |
${{ env.ONLINE_REGISTER }}/${{ inputs.job }}:${{ inputs.tag }}
build-args: |
PGBOUNCER_VERSION=${{ inputs.tag }}
cache-from: type=gha
cache-to: type=gha,mode=max
ot-redis-operator:
if: ${{ inputs.job == 'ot-redis-operator' }}
runs-on: ubuntu-latest
steps:
- name: Git clone operator repo
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/[email protected]
- name: mysql-operator
uses: docker/[email protected]
with:
annotations: |
GITHUB_REF: ${{ github.ref }}
GITHUB_SHA: ${{ github.sha }}
context: ./
file: ./arm64/images/ot-redis-operator/Dockerfile
github-token: ${{ secrets.GITHUB_TOKEN }}
push: true
platforms: ${{ env.BUILD_PLATFORM }}
tags: |
${{ env.ONLINE_REGISTER }}/${{ inputs.job }}:v${{ inputs.tag }}
${{ env.ONLINE_REGISTER }}/${{ inputs.job }}:latest
ot-redis:
if: ${{ inputs.job == 'ot-redis' }}
runs-on: ubuntu-latest
steps:
- name: Git clone mysql-operator repo
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/[email protected]
- name: mysql-operator
uses: docker/[email protected]
with:
annotations: |
GITHUB_REF: ${{ github.ref }}
GITHUB_SHA: ${{ github.sha }}
context: ./arm64/images/ot-redis
file: ./arm64/images/ot-redis/Dockerfile-release
github-token: ${{ secrets.GITHUB_TOKEN }}
push: true
platforms: ${{ env.BUILD_PLATFORM }}
tags: |
${{ env.ONLINE_REGISTER }}/${{ inputs.job }}:v${{ inputs.tag }}
cache-from: type=gha
cache-to: type=gha,mode=max
zoo-entrance:
if: ${{ inputs.job == 'zoo-entrance' }}
runs-on: ubuntu-latest
steps:
- name: Git clone mysql-operator repo
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/[email protected]
- name: mysql-operator
uses: docker/[email protected]
with:
annotations: |
GITHUB_REF: ${{ github.ref }}
GITHUB_SHA: ${{ github.sha }}
context: ./arm64/images/zoo-entrance
file: ./arm64/images/zoo-entrance/Dockerfile
github-token: ${{ secrets.GITHUB_TOKEN }}
push: true
platforms: ${{ env.BUILD_PLATFORM }}
tags: |
${{ env.ONLINE_REGISTER }}/${{ inputs.job }}:v${{ inputs.tag }}
# cache-from: type=gha
# cache-to: type=gha,mode=max
# - name: Prepare images
# run: |
# docker pull registry.opensource.zalan.do/acid/pgbouncer:${{ inputs.tag }}
# docker tag registry.opensource.zalan.do/acid/pgbouncer:${{ inputs.tag }} ${{ env.ONLINE_REGISTER }}/pgbouncer:${{ inputs.tag }}
# docker push ${{ env.ONLINE_REGISTER }}/pgbouncer:${{ inputs.tag }}