1- name : Release DongTai IAST Base Image (Manual)
1+ name : Release DongTai IAST MySQL Image (Manual)
22
33on :
44 workflow_dispatch :
99 default : " v1.0.0"
1010
1111jobs :
12- Release-DongTai-Infra-Service :
12+ dongtai-mysql :
13+ name : Build and Push DongTai MySQL Image (x86 only)
1314 runs-on : ubuntu-latest
14- strategy :
15- max-parallel : 4
16- steps :
17- - name : start-build
18- uses : joelwmale/webhook-action@master
19- with :
20- url : ${{ secrets.WEBHOOK_URL }}
21- body : ' {"msg_type": "interactive","card": {"config": {"wide_screen_mode": true,"enable_forward": true},"elements": [{"tag": "div","text": {"content": "状态:构建开始\n项目:${{github.repository}}\n分支:${{github.ref}}\n流程:${{github.workflow}}\n构建编号:${{github.run_number}}\n触发事件:${{github.event_name}}\n提交人:${{github.actor}}\n手动输入版本:${{ github.event.inputs.tag_name }}\n","tag": "lark_md"}}]}}'
15+ services :
16+ dongtai-mysql :
17+ image : dongtai/dongtai-mysql:latest
18+ ports :
19+ - 3306:3306
20+ dongtai-redis :
21+ image : dongtai/dongtai-redis:latest
22+ ports :
23+ - 6379:6379
2224
25+ steps :
2326 - name : Checkout
2427 uses : actions/checkout@v3
2528
2629 - name : Set up Docker Buildx
2730 uses : docker/setup-buildx-action@v2
2831
2932 - name : Login to DockerHub
30- uses : docker/login-action@v1
33+ uses : docker/login-action@v2
3134 with :
3235 username : ${{ secrets.DONGTAI_DOCKERHUB_USERNAME }}
3336 password : ${{ secrets.DONGTAI_DOCKERHUB_TOKEN }}
3437
3538 - name : Login to AliyunRegistry
36- uses : docker/login-action@v1
39+ uses : docker/login-action@v2
3740 with :
3841 registry : ${{ secrets.ALIYUN_REGISTRY }}
3942 username : ${{ secrets.ALIYUN_DOCKERHUB_USER }}
@@ -45,40 +48,44 @@ jobs:
4548 ID=$(echo ${TAG_NAME##v})
4649 echo "version=$ID" >> $GITHUB_OUTPUT
4750
48- - name : Build and push logstash
49- uses : docker/build-push-action@v3
50- with :
51- context : ./logstash
52- file : ./logstash/Dockerfile
53- push : true
54- platforms : linux/amd64
55- tags : |
56- dongtai/dongtai-logstash:${{ steps.release.outputs.version }}
57- dongtai/dongtai-logstash:latest
51+ - name : Pull and migrate database
52+ working-directory : ./mysql
53+ run : |
54+ echo "开始拉取 dongtai-server:${{ steps.release.outputs.version }}"
55+ docker pull wukong.tencentcloudcr.com/dongtai/dongtai-server:${{ steps.release.outputs.version }}
56+ echo "执行 migrate 初始化数据库结构..."
57+ docker run -i --name dongtai-server-update \
58+ -v $(pwd)/config-tutorial.ini:/opt/dongtai/dongtai_conf/conf/config.ini \
59+ --rm \
60+ --link $(docker ps | grep dongtai-mysql | awk '{print $1}')":dongtai-mysql" \
61+ --link $(docker ps | grep dongtai-redis | awk '{print $1}')":dongtai-redis" \
62+ wukong.tencentcloudcr.com/dongtai/dongtai-server:${{ steps.release.outputs.version }} migrate || exit 1
5863
59- - name : Build and push logrotate
64+ echo "导出数据库结构为 dongtai-mysql-schema.sql..."
65+ docker exec -i $(docker ps | grep dongtai-mysql | awk '{print $1}') /bin/bash -c \
66+ "mysqldump dongtai_webapi -u root -p'dongtai-iast' --single-transaction" > dongtai-mysql-schema.sql || exit 1
67+
68+ - name : Build and Push MySQL 5.7 Image
6069 uses : docker/build-push-action@v3
6170 with :
62- context : ./logrotate
63- file : ./logrotate/Dockerfile
71+ context : ./mysql
6472 push : true
6573 platforms : linux/amd64
6674 tags : |
67- dongtai/dongtai-logrotate :${{ steps.release.outputs.version }}
68- dongtai/dongtai-logrotate :latest
75+ dongtai/dongtai-mysql :${{ steps.release.outputs.version }}
76+ dongtai/dongtai-mysql :latest
6977
70- - name : Build and push Redis
78+ - name : Modify Dockerfile to MySQL 8.0
79+ working-directory : ./mysql
80+ run : |
81+ sed -i 's#5.7#8.0#g' Dockerfile
82+
83+ - name : Build and Push MySQL 8.0 Image
7184 uses : docker/build-push-action@v3
7285 with :
73- context : ./redis
86+ context : ./mysql
7487 push : true
7588 platforms : linux/amd64
7689 tags : |
77- dongtai/dongtai-redis:${{ steps.release.outputs.version }}
78- dongtai/dongtai-redis:latest
79-
80- - name : finish build
81- uses : joelwmale/webhook-action@master
82- with :
83- url : ${{ secrets.WEBHOOK_URL }}
84- body : ' {"msg_type": "interactive","card": {"config": {"wide_screen_mode": true,"enable_forward": true},"elements": [{"tag": "div","text": {"content": "状态:构建完成\n项目:${{github.repository}}\n分支:${{github.ref}}\n流程:${{github.workflow}}\n构建编号:${{github.run_number}}\n触发事件:${{github.event_name}}\n提交人:${{github.actor}}\n版本:${{ github.event.inputs.tag_name }}\n","tag": "lark_md"}}]}}'
90+ dongtai/dongtai-mysql-8:${{ steps.release.outputs.version }}
91+ dongtai/dongtai-mysql-8:latest
0 commit comments