From fe6945a5919dd70065954cc8cdda28eff21d3037 Mon Sep 17 00:00:00 2001 From: qxa Date: Wed, 27 Mar 2024 09:43:41 +0800 Subject: [PATCH 01/14] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E5=8F=91=E5=B8=83=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/push-dev.yaml | 88 ++++++++++++++++++++ .gitea/workflows/push-staging.yaml | 88 ++++++++++++++++++++ .gitea/workflows/release-version.yaml | 113 ++++++++++++++++++++++++++ docker-compose.yaml | 15 ++++ 4 files changed, 304 insertions(+) create mode 100644 .gitea/workflows/push-dev.yaml create mode 100644 .gitea/workflows/push-staging.yaml create mode 100644 .gitea/workflows/release-version.yaml create mode 100644 docker-compose.yaml diff --git a/.gitea/workflows/push-dev.yaml b/.gitea/workflows/push-dev.yaml new file mode 100644 index 0000000..0b8179a --- /dev/null +++ b/.gitea/workflows/push-dev.yaml @@ -0,0 +1,88 @@ +name: 部署到开发环境 + +on: + push: + branches: + - dev + +env: + IMAGE_NAME: ${{ gitea.repository_owner }}/cut.service + PROJECT_NAME: Dolphin.ExamPictureCut.HttpApi.Host + PUBLISH_PATH: marking.cut.service + PUBLISH_HOST: 10.255.255.44 + PUBLISH_PORT: 22 + ASPNETCORE_ENVIRONMENT: Development + +jobs: + job1: + runs-on: linux-amd + container: + image: node:16-bullseye + volumes: + - /opt/.runner/nuget_packages:/root/.nuget/packages + + steps: + - name: 下载源码 + uses: actions/checkout@v3 + + - name: 编译后端 + uses: actions/aspnet@master + with: + project_name: ${{ env.PROJECT_NAME }} + + - name: 打包上传镜像 + uses: actions/docker@master + with: + registry: ${{ secrets.DOCKER_REGISTRY }} + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + image: ${{ env.IMAGE_NAME }} + context: publish + tags: latest,${{ gitea.ref_name }} + + - name: 复制发布脚本 + uses: docker://appleboy/drone-scp + with: + host: ${{ env.PUBLISH_HOST }} + port: ${{ env.PUBLISH_PORT }} + username: ${{ secrets.PUBLISH_USER_NAME }} + password: ${{ secrets.PUBLISH_PASSWORD }} + source: docker-compose.yaml + target: ${{ env.PUBLISH_PATH }} + + - name: 部署到服务器 + uses: docker://appleboy/drone-ssh + with: + host: ${{ env.PUBLISH_HOST }} + port: ${{ env.PUBLISH_PORT }} + username: ${{ secrets.PUBLISH_USER_NAME }} + password: ${{ secrets.PUBLISH_PASSWORD }} + script: | + + #拉取更新 + cd ${{ env.PUBLISH_PATH }} + echo 'REGISTRY=${{ secrets.DOCKER_REGISTRY }}'>.env + echo 'OWNER=${{ gitea.repository_owner }}'>>.env + echo 'TAG=${{ gitea.ref_name }}'>>.env + echo 'ASPNETCORE_ENVIRONMENT=${{ env.ASPNETCORE_ENVIRONMENT }}'>>.env + docker stack deploy -c docker-compose.yaml --with-registry-auth mk + + - name: 发送构建通知 + if: ${{ always() }} + uses: actions/webhook@master + with: + urls: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=fd8e4bfb-a906-4601-9894-e166b3ecedda + content_type: application/json + template: | + { + "msgtype": "markdown", + "markdown": { + "content": "${{ job.status == 'success' && '✅' || '❌' }}**${{ gitea.repository }}** + >**构建结果**: ${{ job.status }} + >**构建详情**: [点击查看](${{ gitea.server_url }}/${{ gitea.repository }}/actions/runs/${{ gitea.run_number }}) + >**代码分支**: ${{ gitea.ref_name }} + >**提交标识**: ${{ gitea.sha }} + >**提交发起**: ${{ gitea.actor}} + " + } + } diff --git a/.gitea/workflows/push-staging.yaml b/.gitea/workflows/push-staging.yaml new file mode 100644 index 0000000..e23c518 --- /dev/null +++ b/.gitea/workflows/push-staging.yaml @@ -0,0 +1,88 @@ +name: 部署到测试环境 + +on: + push: + branches: + - staging + +env: + IMAGE_NAME: ${{ gitea.repository_owner }}/cut.service + PROJECT_NAME: Dolphin.ExamPictureCut.HttpApi.Host + PUBLISH_PATH: marking.cut.service + PUBLISH_HOST: 10.255.255.3 + PUBLISH_PORT: 22 + ASPNETCORE_ENVIRONMENT: Staging + +jobs: + job1: + runs-on: linux-amd + container: + image: node:16-bullseye + volumes: + - /opt/.runner/nuget_packages:/root/.nuget/packages + + steps: + - name: 下载源码 + uses: actions/checkout@v3 + + - name: 编译后端 + uses: actions/aspnet@master + with: + project_name: ${{ env.PROJECT_NAME }} + + - name: 打包上传镜像 + uses: actions/docker@master + with: + registry: ${{ secrets.DOCKER_REGISTRY }} + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + image: ${{ env.IMAGE_NAME }} + context: publish + tags: latest,${{ gitea.ref_name }} + + - name: 复制发布脚本 + uses: docker://appleboy/drone-scp + with: + host: ${{ env.PUBLISH_HOST }} + port: ${{ env.PUBLISH_PORT }} + username: ${{ secrets.PUBLISH_USER_NAME }} + password: ${{ secrets.PUBLISH_PASSWORD }} + source: docker-compose.yaml + target: ${{ env.PUBLISH_PATH }} + + - name: 部署到服务器 + uses: docker://appleboy/drone-ssh + with: + host: ${{ env.PUBLISH_HOST }} + port: ${{ env.PUBLISH_PORT }} + username: ${{ secrets.PUBLISH_USER_NAME }} + password: ${{ secrets.PUBLISH_PASSWORD }} + script: | + + #拉取更新 + cd ${{ env.PUBLISH_PATH }} + echo 'REGISTRY=${{ secrets.DOCKER_REGISTRY }}'>.env + echo 'OWNER=${{ gitea.repository_owner }}'>>.env + echo 'TAG=${{ gitea.ref_name }}'>>.env + echo 'ASPNETCORE_ENVIRONMENT=${{ env.ASPNETCORE_ENVIRONMENT }}'>>.env + docker stack deploy -c docker-compose.yaml --with-registry-auth mk + + - name: 发送构建通知 + if: ${{ always() }} + uses: actions/webhook@master + with: + urls: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=fd8e4bfb-a906-4601-9894-e166b3ecedda + content_type: application/json + template: | + { + "msgtype": "markdown", + "markdown": { + "content": "${{ job.status == 'success' && '✅' || '❌' }}**${{ gitea.repository }}** + >**构建结果**: ${{ job.status }} + >**构建详情**: [点击查看](${{ gitea.server_url }}/${{ gitea.repository }}/actions/runs/${{ gitea.run_number }}) + >**代码分支**: ${{ gitea.ref_name }} + >**提交标识**: ${{ gitea.sha }} + >**提交发起**: ${{ gitea.actor}} + " + } + } diff --git a/.gitea/workflows/release-version.yaml b/.gitea/workflows/release-version.yaml new file mode 100644 index 0000000..0296405 --- /dev/null +++ b/.gitea/workflows/release-version.yaml @@ -0,0 +1,113 @@ +name: 部署到生产环境 + +on: + release: + types: + - published + +env: + IMAGE_NAME: ${{ gitea.repository_owner }}/cut.service + PROJECT_NAME: Dolphin.ExamPictureCut.HttpApi.Host + PUBLISH_PATH: marking.cut.service + # PUBLISH_HOST: 10.255.255.3 + # PUBLISH_PORT: 22 + ASPNETCORE_ENVIRONMENT: Production + +jobs: + job1: + runs-on: linux-amd + container: + image: node:16-bullseye + volumes: + - /opt/.runner/nuget_packages:/root/.nuget/packages + + steps: + - name: 下载源码 + uses: actions/checkout@v3 + + - name: 编译后端 + uses: actions/aspnet@master + with: + project_name: ${{ env.PROJECT_NAME }} + + - name: 打包上传镜像 + uses: actions/docker@master + with: + registry: ${{ secrets.DOCKER_REGISTRY }} + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + image: ${{ env.IMAGE_NAME }} + context: publish + tags: latest,${{ gitea.ref_name }} + + - name: 打包压缩 + run: | + tar -zcvf marking.cut.service.tar.gz publish + + - name: 发送到web站点 + uses: docker://appleboy/drone-scp + with: + # 需要部署的主机地址 + host: 10.255.255.3 + # 主机ssh端口 + port: 22 + username: ${{ secrets.PUBLISH_USER_NAME }} + password: ${{ secrets.PUBLISH_PASSWORD }} + command_timeout: 2m + overwrite: true + target: /etc/nginx/wwwroot/static/marking + source: marking.cut.service.tar.gz + + - name: 启动生产环境105 + uses: docker://appleboy/drone-ssh + with: + host: minio.23544.com + port: 22105 + username: marking + password: ${{ secrets.PWD_105 }} + script: | + + mkdir /d/marking.cut.service + cd /d/marking.cut.service + curl "http://localhost:5244/publish/kill?processName=Dolphin.ExamPictureCut.HttpApi.Host" + rm -rf marking.cut.service.tar.gz + curl -O https://static.w.23544.com:8843/marking/marking.cut.service.tar.gz + tar -zxvf marking.cut.service.tar.gz + curl "http://localhost:5244/publish/run?execPath=D:/marking.cut.service/publish/Dolphin.ExamPictureCut.HttpApi.Host.exe&count=2" + + - name: 启动生产环境106 + uses: docker://appleboy/drone-ssh + with: + host: minio.23544.com + port: 22106 + username: marking + password: ${{ secrets.PWD_106 }} + script: | + + mkdir /d/marking.cut.service + cd /d/marking.cut.service + curl "http://localhost:5244/publish/kill?processName=Dolphin.ExamPictureCut.HttpApi.Host" + rm -rf marking.cut.service.tar.gz + curl -O https://static.w.23544.com:8843/marking/marking.cut.service.tar.gz + tar -zxvf marking.cut.service.tar.gz + curl "http://localhost:5244/publish/run?execPath=D:/marking.cut.service/publish/Dolphin.ExamPictureCut.HttpApi.Host.exe&count=2" + + - name: 发送构建通知 + if: ${{ always() }} + uses: actions/webhook@master + with: + urls: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=fd8e4bfb-a906-4601-9894-e166b3ecedda + content_type: application/json + template: | + { + "msgtype": "markdown", + "markdown": { + "content": "${{ job.status == 'success' && '✅' || '❌' }}**${{ gitea.repository }}** + >**构建结果**: ${{ job.status }} + >**构建详情**: [点击查看](${{ gitea.server_url }}/${{ gitea.repository }}/actions/runs/${{ gitea.run_number }}) + >**代码分支**: ${{ gitea.ref_name }} + >**提交标识**: ${{ gitea.sha }} + >**提交发起**: ${{ gitea.actor}} + " + } + } diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..8b74a02 --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,15 @@ +version: "3" + +services: + marking-cut-service: + image: ${REGISTRY:-harbor.w.23544.com:8843}/marking/cut.service:${TAG:-latest} + hostname: marking + restart: always + environment: + TZ: Asia/Shanghai + ASPNETCORE_ENVIRONMENT: ${ASPNETCORE_ENVIRONMENT:-Development} + # ports: + # - 9925:80 + deploy: + mode: replicated + replicas: 1 -- 2.40.1 From 663f59f84c673bf250b8b5f1986c2a332d508fe3 Mon Sep 17 00:00:00 2001 From: qxa Date: Wed, 27 Mar 2024 09:48:23 +0800 Subject: [PATCH 02/14] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=BC=96=E8=AF=91?= =?UTF-8?q?=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/push-dev.yaml | 2 +- .gitea/workflows/push-staging.yaml | 2 +- .gitea/workflows/release-version.yaml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/push-dev.yaml b/.gitea/workflows/push-dev.yaml index 0b8179a..d5f1c25 100644 --- a/.gitea/workflows/push-dev.yaml +++ b/.gitea/workflows/push-dev.yaml @@ -31,7 +31,7 @@ jobs: project_name: ${{ env.PROJECT_NAME }} - name: 打包上传镜像 - uses: actions/docker@master + uses: actions/docker@8.0 with: registry: ${{ secrets.DOCKER_REGISTRY }} username: ${{ secrets.DOCKER_USERNAME }} diff --git a/.gitea/workflows/push-staging.yaml b/.gitea/workflows/push-staging.yaml index e23c518..7de64b9 100644 --- a/.gitea/workflows/push-staging.yaml +++ b/.gitea/workflows/push-staging.yaml @@ -26,7 +26,7 @@ jobs: uses: actions/checkout@v3 - name: 编译后端 - uses: actions/aspnet@master + uses: actions/aspnet@8.0 with: project_name: ${{ env.PROJECT_NAME }} diff --git a/.gitea/workflows/release-version.yaml b/.gitea/workflows/release-version.yaml index 0296405..c09ce90 100644 --- a/.gitea/workflows/release-version.yaml +++ b/.gitea/workflows/release-version.yaml @@ -26,7 +26,7 @@ jobs: uses: actions/checkout@v3 - name: 编译后端 - uses: actions/aspnet@master + uses: actions/aspnet@8.0 with: project_name: ${{ env.PROJECT_NAME }} -- 2.40.1 From 5019d985e63a542f755b4eaadbcc25f345de64fc Mon Sep 17 00:00:00 2001 From: qxa Date: Wed, 27 Mar 2024 09:50:51 +0800 Subject: [PATCH 03/14] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=BC=96=E8=AF=91?= =?UTF-8?q?=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/push-dev.yaml | 2 +- .gitea/workflows/push-staging.yaml | 2 +- .gitea/workflows/release-version.yaml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/push-dev.yaml b/.gitea/workflows/push-dev.yaml index d5f1c25..4a8b1da 100644 --- a/.gitea/workflows/push-dev.yaml +++ b/.gitea/workflows/push-dev.yaml @@ -31,7 +31,7 @@ jobs: project_name: ${{ env.PROJECT_NAME }} - name: 打包上传镜像 - uses: actions/docker@8.0 + uses: actions/docker@v8 with: registry: ${{ secrets.DOCKER_REGISTRY }} username: ${{ secrets.DOCKER_USERNAME }} diff --git a/.gitea/workflows/push-staging.yaml b/.gitea/workflows/push-staging.yaml index 7de64b9..2629f67 100644 --- a/.gitea/workflows/push-staging.yaml +++ b/.gitea/workflows/push-staging.yaml @@ -26,7 +26,7 @@ jobs: uses: actions/checkout@v3 - name: 编译后端 - uses: actions/aspnet@8.0 + uses: actions/aspnet@v8 with: project_name: ${{ env.PROJECT_NAME }} diff --git a/.gitea/workflows/release-version.yaml b/.gitea/workflows/release-version.yaml index c09ce90..5d82c0e 100644 --- a/.gitea/workflows/release-version.yaml +++ b/.gitea/workflows/release-version.yaml @@ -26,7 +26,7 @@ jobs: uses: actions/checkout@v3 - name: 编译后端 - uses: actions/aspnet@8.0 + uses: actions/aspnet@v8 with: project_name: ${{ env.PROJECT_NAME }} -- 2.40.1 From c1333914419cc1c34eb7e846193464673583a482 Mon Sep 17 00:00:00 2001 From: qxa Date: Wed, 27 Mar 2024 09:51:41 +0800 Subject: [PATCH 04/14] 1 --- .gitea/workflows/push-dev.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/push-dev.yaml b/.gitea/workflows/push-dev.yaml index 4a8b1da..ebf6457 100644 --- a/.gitea/workflows/push-dev.yaml +++ b/.gitea/workflows/push-dev.yaml @@ -26,12 +26,12 @@ jobs: uses: actions/checkout@v3 - name: 编译后端 - uses: actions/aspnet@master + uses: actions/aspnet@v8 with: project_name: ${{ env.PROJECT_NAME }} - name: 打包上传镜像 - uses: actions/docker@v8 + uses: actions/docker@master with: registry: ${{ secrets.DOCKER_REGISTRY }} username: ${{ secrets.DOCKER_USERNAME }} -- 2.40.1 From f4f5f5ab2b1f95567e82998f090331f48c2e5064 Mon Sep 17 00:00:00 2001 From: qxa Date: Wed, 27 Mar 2024 09:59:44 +0800 Subject: [PATCH 05/14] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/push-dev.yaml | 3 ++- .gitea/workflows/push-staging.yaml | 1 + .gitea/workflows/release-version.yaml | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/push-dev.yaml b/.gitea/workflows/push-dev.yaml index ebf6457..504b1b9 100644 --- a/.gitea/workflows/push-dev.yaml +++ b/.gitea/workflows/push-dev.yaml @@ -15,6 +15,7 @@ env: jobs: job1: + name: 编译发布 runs-on: linux-amd container: image: node:16-bullseye @@ -26,7 +27,7 @@ jobs: uses: actions/checkout@v3 - name: 编译后端 - uses: actions/aspnet@v8 + uses: actions/aspnet@8.0 with: project_name: ${{ env.PROJECT_NAME }} diff --git a/.gitea/workflows/push-staging.yaml b/.gitea/workflows/push-staging.yaml index 2629f67..0ab1131 100644 --- a/.gitea/workflows/push-staging.yaml +++ b/.gitea/workflows/push-staging.yaml @@ -15,6 +15,7 @@ env: jobs: job1: + name: 编译发布 runs-on: linux-amd container: image: node:16-bullseye diff --git a/.gitea/workflows/release-version.yaml b/.gitea/workflows/release-version.yaml index 5d82c0e..845a3b0 100644 --- a/.gitea/workflows/release-version.yaml +++ b/.gitea/workflows/release-version.yaml @@ -15,6 +15,7 @@ env: jobs: job1: + name: 编译发布 runs-on: linux-amd container: image: node:16-bullseye -- 2.40.1 From cd3fab8bc84278413bb2bbb130eadad450d95665 Mon Sep 17 00:00:00 2001 From: qxa Date: Wed, 27 Mar 2024 10:05:34 +0800 Subject: [PATCH 06/14] 1 --- .gitea/workflows/push-staging.yaml | 2 +- .gitea/workflows/release-version.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/push-staging.yaml b/.gitea/workflows/push-staging.yaml index 0ab1131..1333895 100644 --- a/.gitea/workflows/push-staging.yaml +++ b/.gitea/workflows/push-staging.yaml @@ -27,7 +27,7 @@ jobs: uses: actions/checkout@v3 - name: 编译后端 - uses: actions/aspnet@v8 + uses: actions/aspnet@8.0 with: project_name: ${{ env.PROJECT_NAME }} diff --git a/.gitea/workflows/release-version.yaml b/.gitea/workflows/release-version.yaml index 845a3b0..4c57417 100644 --- a/.gitea/workflows/release-version.yaml +++ b/.gitea/workflows/release-version.yaml @@ -27,7 +27,7 @@ jobs: uses: actions/checkout@v3 - name: 编译后端 - uses: actions/aspnet@v8 + uses: actions/aspnet@8.0 with: project_name: ${{ env.PROJECT_NAME }} -- 2.40.1 From 8ed172ad7cf331ac7c0d7fdf64c67562d3ac7695 Mon Sep 17 00:00:00 2001 From: qxa Date: Wed, 27 Mar 2024 10:31:30 +0800 Subject: [PATCH 07/14] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8F=98=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/push-dev.yaml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.gitea/workflows/push-dev.yaml b/.gitea/workflows/push-dev.yaml index 504b1b9..871c81a 100644 --- a/.gitea/workflows/push-dev.yaml +++ b/.gitea/workflows/push-dev.yaml @@ -62,10 +62,11 @@ jobs: #拉取更新 cd ${{ env.PUBLISH_PATH }} - echo 'REGISTRY=${{ secrets.DOCKER_REGISTRY }}'>.env - echo 'OWNER=${{ gitea.repository_owner }}'>>.env - echo 'TAG=${{ gitea.ref_name }}'>>.env - echo 'ASPNETCORE_ENVIRONMENT=${{ env.ASPNETCORE_ENVIRONMENT }}'>>.env + REGISTRY=${{ secrets.DOCKER_REGISTRY }} + OWNER=${{ gitea.repository_owner }} + TAG=${{ gitea.ref_name }} + ASPNETCORE_ENVIRONMENT=${{ env.ASPNETCORE_ENVIRONMENT }} + docker stack deploy -c docker-compose.yaml --with-registry-auth mk - name: 发送构建通知 -- 2.40.1 From c5012860eeb71faaf29801486492b462def2f099 Mon Sep 17 00:00:00 2001 From: qxa Date: Wed, 27 Mar 2024 11:10:14 +0800 Subject: [PATCH 08/14] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8F=91=E5=B8=83?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/push-dev.yaml | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/.gitea/workflows/push-dev.yaml b/.gitea/workflows/push-dev.yaml index 871c81a..f8d834b 100644 --- a/.gitea/workflows/push-dev.yaml +++ b/.gitea/workflows/push-dev.yaml @@ -41,6 +41,16 @@ jobs: context: publish tags: latest,${{ gitea.ref_name }} + - name: 生成环境变量文件 + env: + env_file: | + REGISTRY=${{ secrets.DOCKER_REGISTRY }} + OWNER=${{ gitea.repository_owner }} + TAG=${{ gitea.ref_name }} + ASPNETCORE_ENVIRONMENT=${{ env.ASPNETCORE_ENVIRONMENT }} + run: | + echo "$env_file">.env + - name: 复制发布脚本 uses: docker://appleboy/drone-scp with: @@ -48,8 +58,8 @@ jobs: port: ${{ env.PUBLISH_PORT }} username: ${{ secrets.PUBLISH_USER_NAME }} password: ${{ secrets.PUBLISH_PASSWORD }} - source: docker-compose.yaml target: ${{ env.PUBLISH_PATH }} + source: docker-compose.yaml,.env - name: 部署到服务器 uses: docker://appleboy/drone-ssh @@ -60,12 +70,9 @@ jobs: password: ${{ secrets.PUBLISH_PASSWORD }} script: | - #拉取更新 cd ${{ env.PUBLISH_PATH }} - REGISTRY=${{ secrets.DOCKER_REGISTRY }} - OWNER=${{ gitea.repository_owner }} - TAG=${{ gitea.ref_name }} - ASPNETCORE_ENVIRONMENT=${{ env.ASPNETCORE_ENVIRONMENT }} + + [ -f .env ] && export $(sed '/^#/d' .env) docker stack deploy -c docker-compose.yaml --with-registry-auth mk -- 2.40.1 From e6160d1239752a2e496d710bff7c825643122ab8 Mon Sep 17 00:00:00 2001 From: qxa Date: Wed, 27 Mar 2024 11:23:01 +0800 Subject: [PATCH 09/14] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E5=8F=98=E9=87=8F=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/push-staging.yaml | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/.gitea/workflows/push-staging.yaml b/.gitea/workflows/push-staging.yaml index 1333895..8f0b686 100644 --- a/.gitea/workflows/push-staging.yaml +++ b/.gitea/workflows/push-staging.yaml @@ -41,6 +41,16 @@ jobs: context: publish tags: latest,${{ gitea.ref_name }} + - name: 生成环境变量文件 + env: + env_file: | + REGISTRY=${{ secrets.DOCKER_REGISTRY }} + OWNER=${{ gitea.repository_owner }} + TAG=${{ gitea.ref_name }} + ASPNETCORE_ENVIRONMENT=${{ env.ASPNETCORE_ENVIRONMENT }} + run: | + echo "$env_file">.env + - name: 复制发布脚本 uses: docker://appleboy/drone-scp with: @@ -48,8 +58,8 @@ jobs: port: ${{ env.PUBLISH_PORT }} username: ${{ secrets.PUBLISH_USER_NAME }} password: ${{ secrets.PUBLISH_PASSWORD }} - source: docker-compose.yaml target: ${{ env.PUBLISH_PATH }} + source: docker-compose.yaml,.env - name: 部署到服务器 uses: docker://appleboy/drone-ssh @@ -60,12 +70,10 @@ jobs: password: ${{ secrets.PUBLISH_PASSWORD }} script: | - #拉取更新 cd ${{ env.PUBLISH_PATH }} - echo 'REGISTRY=${{ secrets.DOCKER_REGISTRY }}'>.env - echo 'OWNER=${{ gitea.repository_owner }}'>>.env - echo 'TAG=${{ gitea.ref_name }}'>>.env - echo 'ASPNETCORE_ENVIRONMENT=${{ env.ASPNETCORE_ENVIRONMENT }}'>>.env + + [ -f .env ] && export $(sed '/^#/d' .env) + docker stack deploy -c docker-compose.yaml --with-registry-auth mk - name: 发送构建通知 -- 2.40.1 From 77625189bea07d19bdd48c361c5e50b16faa475c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=BA=20=E6=9D=A8?= Date: Wed, 27 Mar 2024 16:41:57 +0800 Subject: [PATCH 10/14] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E5=92=8C=E7=94=9F=E4=BA=A7=E7=8E=AF=E5=A2=83=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../appsettings.Staging.json | 38 +++++++++++++++++++ .../appsettings.json | 10 ++--- 2 files changed, 43 insertions(+), 5 deletions(-) create mode 100644 Dolphin.ExamPictureCut.HttpApi.Host/appsettings.Staging.json diff --git a/Dolphin.ExamPictureCut.HttpApi.Host/appsettings.Staging.json b/Dolphin.ExamPictureCut.HttpApi.Host/appsettings.Staging.json new file mode 100644 index 0000000..22f9800 --- /dev/null +++ b/Dolphin.ExamPictureCut.HttpApi.Host/appsettings.Staging.json @@ -0,0 +1,38 @@ +{ + "App": { + "CorsOrigins": "https://*.23544.com" + }, + "ConnectionStrings": { + "marking_basic": "Server=102553.23544.com;Port=3306;Database=marking_basic;Uid=marking;Pwd=qwe123!@#;AllowLoadLocalInfile=true;", + "penoffline": "host=47.108.209.28;port=8812;username=zhjs;password=zhjsniubi;database=qdb;ServerCompatibilityMode=NoTypeLoading;" + }, + "Redis": { + "Configuration": "102553.23544.com,password=qwe123!@#,defaultDatabase=1,idleTimeout=3000,poolsize=5,prefix=marking" + }, + "StringEncryption": { + "DefaultPassPhrase": "LB6Ts3T0sdE5VSNq" + }, + "RabbitMQ": { + "Connections": { + "Default": { + "HostName": "102553.23544.com", + "Port": "5672", + "UserName": "mkadmin", + "Password": "poiuyt)(*&^%", + "VirtualHost": "marking" + } + }, + "EventBus": { + "ClientName": "collect_queue", + "ExchangeName": "exam_gather_ex" + } + }, + "Aliyun": { + "AccessKeyId": "LTAI5tJ6stiMWGhVU3TtRyAf", + "AccessKeySecret": "A3pwnGx2SW1orvraCkXta6Lx4sV06e", + "Endpoint": "https://oss-cn-chengdu.aliyuncs.com", + "RegionId": "oss-cn-chengdu", + "ContainerName": "mk-xk-test", + "Host": "//mk-xk-test.23544.com" + } +} diff --git a/Dolphin.ExamPictureCut.HttpApi.Host/appsettings.json b/Dolphin.ExamPictureCut.HttpApi.Host/appsettings.json index 7bf9529..5fcc9b0 100644 --- a/Dolphin.ExamPictureCut.HttpApi.Host/appsettings.json +++ b/Dolphin.ExamPictureCut.HttpApi.Host/appsettings.json @@ -3,11 +3,11 @@ "CorsOrigins": "https://*.23544.com" }, "ConnectionStrings": { - "marking_basic": "Server=192.168.2.9;Port=3306;Database=marking_basic;Uid=root;Pwd=qwe123!@#;AllowLoadLocalInfile=true;", + "marking_basic": "Server=mk-rds.23544.com;Port=33306;Database=marking_basic;Uid=marking;Pwd=poiuytPOIUYT098765)(*&^%;AllowLoadLocalInfile=true;", "penoffline": "host=47.108.209.28;port=8812;username=zhjs;password=zhjsniubi;database=qdb;ServerCompatibilityMode=NoTypeLoading;" }, "Redis": { - "Configuration": "192.168.2.7:6379,password=qwe123!@#,defaultDatabase=14,idleTimeout=3000,poolsize=5,prefix=marking" + "Configuration": "102553.23544.com:6379,password=qwe123!@#,defaultDatabase=4,idleTimeout=3000,poolsize=5,prefix=marking" }, "StringEncryption": { "DefaultPassPhrase": "LB6Ts3T0sdE5VSNq" @@ -15,10 +15,10 @@ "RabbitMQ": { "Connections": { "Default": { - "HostName": "192.168.2.7", + "HostName": "47.109.67.254", "Port": "5672", - "UserName": "rabbit", - "Password": "qwe123!@#", + "UserName": "mkadmin", + "Password": "poiuyt)(*&^%", "VirtualHost": "marking" } }, -- 2.40.1 From d269c6d1b4f895b082b55f9a53c08eb83ad786ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=BA=20=E6=9D=A8?= Date: Fri, 29 Mar 2024 09:16:05 +0800 Subject: [PATCH 11/14] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=94=9F=E4=BA=A7?= =?UTF-8?q?=E7=8E=AF=E5=A2=83=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dolphin.ExamPictureCut.HttpApi.Host/appsettings.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dolphin.ExamPictureCut.HttpApi.Host/appsettings.json b/Dolphin.ExamPictureCut.HttpApi.Host/appsettings.json index 5fcc9b0..7ff107f 100644 --- a/Dolphin.ExamPictureCut.HttpApi.Host/appsettings.json +++ b/Dolphin.ExamPictureCut.HttpApi.Host/appsettings.json @@ -7,7 +7,7 @@ "penoffline": "host=47.108.209.28;port=8812;username=zhjs;password=zhjsniubi;database=qdb;ServerCompatibilityMode=NoTypeLoading;" }, "Redis": { - "Configuration": "102553.23544.com:6379,password=qwe123!@#,defaultDatabase=4,idleTimeout=3000,poolsize=5,prefix=marking" + "Configuration": "47.109.67.254:16379,password=poiuyt)(*&^%,defaultDatabase=0,idleTimeout=3000,poolsize=5,prefix=marking" }, "StringEncryption": { "DefaultPassPhrase": "LB6Ts3T0sdE5VSNq" -- 2.40.1 From 5a82cea4b4c032eca13108f49286c935ddf42546 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=BA=20=E6=9D=A8?= Date: Fri, 29 Mar 2024 14:15:59 +0800 Subject: [PATCH 12/14] =?UTF-8?q?=E5=8F=91=E7=89=88=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dolphin.ExamPictureCut.Application/Exams/ExamManager.cs | 2 +- Dolphin.ExamPictureCut.Application/Services/ExamAppService.cs | 2 +- Dolphin.ExamPictureCut.HttpApi.Host/Program.cs | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Dolphin.ExamPictureCut.Application/Exams/ExamManager.cs b/Dolphin.ExamPictureCut.Application/Exams/ExamManager.cs index bf18c09..66bc4ce 100644 --- a/Dolphin.ExamPictureCut.Application/Exams/ExamManager.cs +++ b/Dolphin.ExamPictureCut.Application/Exams/ExamManager.cs @@ -47,7 +47,7 @@ public class ExamManager : DomainService, IExamManager public async Task ExamStudentGather(ExamStudentGatherEto eto) { var penSerial = eto.StudentExamNum; - Logger.LogInformation("{ExamSubjectId} {penSerial} 开始收集...", eto.ExamSubjectId, penSerial); + Logger.LogInformation($"开始收集... 参数:{JsonConvert.SerializeObject(eto)}"); var guid = GuidGenerator.Create().ToString("N"); var templates = await Db.Queryable().Where(w => w.BookId == eto.BookId) diff --git a/Dolphin.ExamPictureCut.Application/Services/ExamAppService.cs b/Dolphin.ExamPictureCut.Application/Services/ExamAppService.cs index cf7c9e6..8756216 100644 --- a/Dolphin.ExamPictureCut.Application/Services/ExamAppService.cs +++ b/Dolphin.ExamPictureCut.Application/Services/ExamAppService.cs @@ -12,6 +12,6 @@ public class ExamAppService : DolphinAppService public async Task Test() { - await _examManager.ExamStudentGather(new() { SchoolId = 1, StudentExamNum = "BP2-3G3-07K-BZ", BookId = 528102717276229, ExamSubjectSchoolId = 528066671910982, ExamSubjectId = 528066655817797, LastCollectTime = DateTime.Now }); + await _examManager.ExamStudentGather(new() { SchoolId = 3, StudentExamNum = "BP2-3G3-07K-C1", BookId = 529493484986437, ExamSubjectSchoolId = 530151338438726, ExamSubjectId = 530151329325125, LastCollectTime = DateTime.Now }); } } diff --git a/Dolphin.ExamPictureCut.HttpApi.Host/Program.cs b/Dolphin.ExamPictureCut.HttpApi.Host/Program.cs index 726d07c..0c91325 100644 --- a/Dolphin.ExamPictureCut.HttpApi.Host/Program.cs +++ b/Dolphin.ExamPictureCut.HttpApi.Host/Program.cs @@ -1,4 +1,4 @@ -using Serilog; +using Serilog; using Serilog.Events; namespace Dolphin.ExamPictureCut; @@ -28,6 +28,7 @@ public class Program try { Log.Information("Starting Dolphin.ExamPictureCut.HttpApi.Host."); + Log.Information("Current Env:" + Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")); var builder = WebApplication.CreateBuilder(args); builder.Host.AddAppSettingsSecretsJson() .UseAutofac() -- 2.40.1 From 0cfc2a7b12bf115b61910d50b6e897b4d0e6548c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=BA=20=E6=9D=A8?= Date: Fri, 29 Mar 2024 14:40:42 +0800 Subject: [PATCH 13/14] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dolphin.ExamPictureCut.Application/Exams/ExamManager.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dolphin.ExamPictureCut.Application/Exams/ExamManager.cs b/Dolphin.ExamPictureCut.Application/Exams/ExamManager.cs index 66bc4ce..a746980 100644 --- a/Dolphin.ExamPictureCut.Application/Exams/ExamManager.cs +++ b/Dolphin.ExamPictureCut.Application/Exams/ExamManager.cs @@ -70,7 +70,7 @@ public class ExamManager : DomainService, IExamManager var paperIds = templates.Select(s => s.PaperId).ToList(); // 获取点阵数据 - var timespan = (long)(eto.LastCollectTime - new DateTime(1970, 1, 1, 0, 0, 0)).TotalMilliseconds; + var timespan = (long)(eto.LastCollectTime - TimeZoneInfo.ConvertTimeFromUtc(new DateTime(1970, 1, 1), TimeZoneInfo.Local)).TotalMilliseconds; var lattices = await DbPenOffline.Queryable() .Where(w => w.PenSerial == penSerial && paperIds.Contains(w.PageSerial) && w.logType == LogType.作业 && w.Time <= timespan) .Select(s => new PenOfflineData -- 2.40.1 From 298136ac3021a3ead5a531c24501bd9c3585cf84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=BA=20=E6=9D=A8?= Date: Fri, 29 Mar 2024 14:49:03 +0800 Subject: [PATCH 14/14] 11 --- Dolphin.ExamPictureCut.Application/Exams/ExamManager.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dolphin.ExamPictureCut.Application/Exams/ExamManager.cs b/Dolphin.ExamPictureCut.Application/Exams/ExamManager.cs index a746980..aee40b1 100644 --- a/Dolphin.ExamPictureCut.Application/Exams/ExamManager.cs +++ b/Dolphin.ExamPictureCut.Application/Exams/ExamManager.cs @@ -87,7 +87,7 @@ public class ExamManager : DomainService, IExamManager if (lattices.Count == 0) { await DbBiz.Updateable().SetColumns(s => s.CollectStatus == 2).Where(w => w.ExamSubjectSchoolId == eto.ExamSubjectSchoolId && w.StudentExamNum == penSerial).ExecuteCommandAsync(); - Logger.LogInformation("{ExamSubjectId} {penSerial} 无点阵数据", eto.ExamSubjectId, penSerial); + Logger.LogInformation($"{eto.ExamSubjectId} {penSerial} {string.Join(',', paperIds)} {timespan} 无点阵数据"); return; } @@ -105,7 +105,7 @@ public class ExamManager : DomainService, IExamManager }).ToListAsync(); var gotoCount = 0; - dotPenOriginalImg: +dotPenOriginalImg: var zgtSettingDtls = await DbBiz.Queryable().Where(w => w.ExamSubjectId == eto.ExamSubjectId).ToListAsync(); // 割原题 -- 2.40.1