Skip to content

Manual DongTai IAST Base Image #2

Manual DongTai IAST Base Image

Manual DongTai IAST Base Image #2

name: Release DongTai IAST MySQL Image (Manual)
on:
workflow_dispatch:
inputs:
tag_name:
description: "请输入要构建的版本号(例如 v1.17.7)"
required: true
default: "v1.0.0"
jobs:
dongtai-mysql:
name: Build and Push DongTai MySQL Image (x86 only)
runs-on: ubuntu-latest
services:
dongtai-mysql:
image: dongtai/dongtai-mysql:latest
ports:
- 3306:3306
dongtai-redis:
image: dongtai/dongtai-redis:latest
ports:
- 6379:6379
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DONGTAI_DOCKERHUB_USERNAME }}
password: ${{ secrets.DONGTAI_DOCKERHUB_TOKEN }}
- name: Login to AliyunRegistry
uses: docker/login-action@v2
with:
registry: ${{ secrets.ALIYUN_REGISTRY }}
username: ${{ secrets.ALIYUN_DOCKERHUB_USER }}
password: ${{ secrets.ALIYUN_DOCKERHUB_PASSWORD }}
- id: release
run: |
TAG_NAME=${{ github.event.inputs.tag_name }}
ID=$(echo ${TAG_NAME##v})
echo "version=$ID" >> $GITHUB_OUTPUT
- name: Pull and migrate database
working-directory: ./mysql
run: |
echo "开始拉取 dongtai-server:${{ steps.release.outputs.version }}"
docker pull wukong.tencentcloudcr.com/dongtai/dongtai-server:${{ steps.release.outputs.version }}
echo "执行 migrate 初始化数据库结构..."
docker run -i --name dongtai-server-update \
-v $(pwd)/config-tutorial.ini:/opt/dongtai/dongtai_conf/conf/config.ini \
--rm \
--link $(docker ps | grep dongtai-mysql | awk '{print $1}')":dongtai-mysql" \
--link $(docker ps | grep dongtai-redis | awk '{print $1}')":dongtai-redis" \
wukong.tencentcloudcr.com/dongtai/dongtai-server:${{ steps.release.outputs.version }} migrate || exit 1
echo "导出数据库结构为 dongtai-mysql-schema.sql..."
docker exec -i $(docker ps | grep dongtai-mysql | awk '{print $1}') /bin/bash -c \
"mysqldump dongtai_webapi -u root -p'dongtai-iast' --single-transaction" > dongtai-mysql-schema.sql || exit 1
- name: Build and Push MySQL 5.7 Image
uses: docker/build-push-action@v3
with:
context: ./mysql
push: true
platforms: linux/amd64
tags: |
dongtai/dongtai-mysql:${{ steps.release.outputs.version }}
dongtai/dongtai-mysql:latest
- name: Modify Dockerfile to MySQL 8.0
working-directory: ./mysql
run: |
sed -i 's#5.7#8.0#g' Dockerfile
- name: Build and Push MySQL 8.0 Image
uses: docker/build-push-action@v3
with:
context: ./mysql
push: true
platforms: linux/amd64
tags: |
dongtai/dongtai-mysql-8:${{ steps.release.outputs.version }}
dongtai/dongtai-mysql-8:latest