Manual DongTai IAST Base Image #5
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: Manual DongTai IAST Base Image | |
| on: | |
| workflow_dispatch: # ✅ 改为手动触发 | |
| inputs: | |
| version: | |
| description: '手动输入构建版本号,例如 v1.17.7' | |
| required: true | |
| default: 'v1.17.7' | |
| jobs: | |
| Release-DongTai-Infra-Service: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| max-parallel: 4 | |
| steps: | |
| - name: start-build | |
| uses: joelwmale/webhook-action@master | |
| with: | |
| url: ${{ secrets.WEBHOOK_URL }} | |
| 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","tag": "lark_md"}}]}}' | |
| - 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@v1 | |
| with: | |
| username: ${{ secrets.DONGTAI_DOCKERHUB_USERNAME }} | |
| password: ${{ secrets.DONGTAI_DOCKERHUB_TOKEN }} | |
| - name: Login to AliyunRegistry | |
| uses: docker/login-action@v1 | |
| with: | |
| registry: ${{ secrets.ALIYUN_REGISTRY }} | |
| username: ${{ secrets.ALIYUN_DOCKERHUB_USER }} | |
| password: ${{ secrets.ALIYUN_DOCKERHUB_PASSWORD }} | |
| - id: release | |
| run: | | |
| TAG_NAME=${{ github.event.inputs.version }} # ✅ 使用手动输入的版本号 | |
| ID=`echo ${TAG_NAME##v}` | |
| echo "::set-output name=version::$ID" | |
| - name: Build and push logstash | |
| uses: docker/build-push-action@v3 | |
| with: | |
| context: ./logstash | |
| file: ./logstash/Dockerfile | |
| push: true | |
| platforms: linux/amd64 | |
| tags: | | |
| dongtai/dongtai-logstash:${{ steps.release.outputs.version }} | |
| dongtai/dongtai-logstash:latest | |
| - name: Build and push logrotate | |
| uses: docker/build-push-action@v3 | |
| with: | |
| context: ./logrotate | |
| file: ./logrotate/Dockerfile | |
| push: true | |
| platforms: linux/amd64 | |
| tags: | | |
| dongtai/dongtai-logrotate:${{ steps.release.outputs.version }} | |
| dongtai/dongtai-logrotate:latest | |
| - name: Build and push Redis | |
| uses: docker/build-push-action@v2 | |
| with: | |
| context: ./redis | |
| push: true | |
| platforms: linux/amd64 | |
| tags: | | |
| dongtai/dongtai-redis:${{ steps.release.outputs.version }} | |
| dongtai/dongtai-redis:latest | |
| - name: finish build | |
| uses: joelwmale/webhook-action@master | |
| with: | |
| url: ${{ secrets.WEBHOOK_URL }} | |
| 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}}\nSHA-1:${{github.sha}}\n","tag": "lark_md"}}]}}' | |
| dongtai-mysql: | |
| name: dongtai-mysql | |
| 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.version }} # ✅ 同样使用手动输入版本号 | |
| ID=`echo ${TAG_NAME##v}` | |
| echo "::set-output name=version::$ID" | |
| - name: Build Mysql only schema to local | |
| working-directory: ./mysql | |
| run: | | |
| docker pull wukong.tencentcloudcr.com/dongtai/dongtai-server:${{ steps.release.outputs.version }} | |
| 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 \ | |
| --network ${{ job.container.network }} wukong.tencentcloudcr.com/dongtai/dongtai-server:${{ steps.release.outputs.version }} migrate || exit 1 | |
| 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 Mysql only schema to local | |
| uses: docker/build-push-action@v3 | |
| with: | |
| context: ./mysql | |
| push: true | |
| tags: | | |
| dongtai/dongtai-mysql:${{ steps.release.outputs.version }} | |
| - name: Install Mysql 8.0 | |
| working-directory: ./mysql | |
| run: | | |
| sed -i 's#5.7#8.0#g' Dockerfile | |
| - name: Build Mysql 8.0 | |
| 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 |