Manual DongTai IAST Base Image #2
This file contains hidden or 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 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 |