Release Manually #172
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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' | |
- 'elasticsearch-with-s3-plugin' | |
- 'mysql-operator-sidecar-80' | |
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: | |
mysql-operator-sidecar-80: | |
if : ${{ inputs.job == 'mysql-operator-sidecar-80' }} | |
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: mysql-operator-sidecar-80 | |
uses: docker/[email protected] | |
with: | |
context: ./arm64/images/mysql-operator-sidecar-8.0 | |
file: ./arm64/images/mysql-operator-sidecar-8.0/Dockerfile | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
push: true | |
platforms: ${{ env.BUILD_PLATFORM }} | |
tags: | | |
${{ env.ONLINE_REGISTER }}/mysql-operator-sidecar-8.0:${{ inputs.tag }} | |
${{ env.ONLINE_REGISTER }}/mysql-operator-sidecar-8.0:latest | |
cache-from: type=gha | |
cache-to: type=gha,mode=max | |
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 | |
amend: 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 }} | |
elasticsearch-with-s3-plugin: | |
if: ${{ inputs.job == 'elasticsearch-with-s3-plugin' }} | |
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: elasticsearch-with-s3-plugin | |
uses: docker/[email protected] | |
with: | |
annotations: | | |
GITHUB_REF: ${{ github.ref }} | |
GITHUB_SHA: ${{ github.sha }} | |
context: ./images/elasticsearch | |
file: ./images/elasticsearch/Dockerfile | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
push: true | |
platforms: ${{ env.BUILD_PLATFORM }} | |
tags: | | |
${{ env.ONLINE_REGISTER }}/${{ inputs.job }}:7.16.3 | |
cache-from: type=gha | |
cache-to: type=gha,mode=max | |
# 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 }} |