From 6c7bae38800479c0ecbe914fd92cb222bc6b3c9b Mon Sep 17 00:00:00 2001 From: qxa Date: Fri, 29 Mar 2024 15:51:29 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8F=91=E5=B8=83?= =?UTF-8?q?=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 | 7 +- .gitea/workflows/push-master.yaml | 126 ++++++++++++++++++++++++++ .gitea/workflows/push-staging.yaml | 7 +- .gitea/workflows/release-version.yaml | 11 ++- 4 files changed, 140 insertions(+), 11 deletions(-) create mode 100644 .gitea/workflows/push-master.yaml diff --git a/.gitea/workflows/push-dev.yaml b/.gitea/workflows/push-dev.yaml index f8d834b..084ef00 100644 --- a/.gitea/workflows/push-dev.yaml +++ b/.gitea/workflows/push-dev.yaml @@ -80,18 +80,19 @@ jobs: if: ${{ always() }} uses: actions/webhook@master with: - urls: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=fd8e4bfb-a906-4601-9894-e166b3ecedda + urls: https://oapi.dingtalk.com/robot/send?access_token=6ddafcada8f44f4bad4a7314c4d9bd19a895ded0a1ba1afdaff5dd01a5af6781 content_type: application/json template: | { "msgtype": "markdown", "markdown": { - "content": "${{ job.status == 'success' && '✅' || '❌' }}**${{ gitea.repository }}** + "title":"项目部署通知", + "text": "${{ job.status == 'success' && '✅' || '❌' }}**${{ gitea.repository }}**\n >**构建结果**: ${{ job.status }} >**构建详情**: [点击查看](${{ gitea.server_url }}/${{ gitea.repository }}/actions/runs/${{ gitea.run_number }}) >**代码分支**: ${{ gitea.ref_name }} >**提交标识**: ${{ gitea.sha }} - >**提交发起**: ${{ gitea.actor}} + >**提交发起**: ${{ gitea.actor }} " } } diff --git a/.gitea/workflows/push-master.yaml b/.gitea/workflows/push-master.yaml new file mode 100644 index 0000000..6858486 --- /dev/null +++ b/.gitea/workflows/push-master.yaml @@ -0,0 +1,126 @@ +name: 部署生产环境 + +on: + push: + branches: + - master + +env: + IMAGE_NAME: ${{ gitea.repository_owner }}/cut.service + PROJECT_NAME: Dolphin.ExamPictureCut.HttpApi.Host + PUBLISH_PATH: marking.cut.service + ASPNETCORE_ENVIRONMENT: Production + +jobs: + release: + name: 发布版本 + runs-on: linux + outputs: + version: ${{ steps.publish_version.outputs.version }} + + steps: + - name: 下载源码 + uses: actions/checkout@v3 + + - name: 发布版本 + id: publish_version + uses: actions/auto-release@master + + job1: + name: 编译发布 + runs-on: linux + needs: release + env: + version: ${{ needs.release.outputs.version }} + container: + image: node:16-bullseye + volumes: + - /opt/.runner/nuget_packages:/root/.nuget/packages + + steps: + - name: 下载源码 + uses: actions/checkout@v3 + + - name: 使用缓存 + uses: actions/cache@master + with: + mount: | + node_modules + + - name: 编译后端 + uses: actions/aspnet@8.0 + with: + project_name: ${{ env.PROJECT_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.PUBLISH_WIN_PASSWORD }} + 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.PUBLISH_WIN_PASSWORD }} + 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://oapi.dingtalk.com/robot/send?access_token=6ddafcada8f44f4bad4a7314c4d9bd19a895ded0a1ba1afdaff5dd01a5af6781 + content_type: application/json + template: | + { + "msgtype": "markdown", + "markdown": { + "title":"项目部署通知", + "text": "${{ job.status == 'success' && '✅' || '❌' }}**${{ gitea.repository }}**\n + >**构建结果**: ${{ 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 index 8f0b686..19c5179 100644 --- a/.gitea/workflows/push-staging.yaml +++ b/.gitea/workflows/push-staging.yaml @@ -80,18 +80,19 @@ jobs: if: ${{ always() }} uses: actions/webhook@master with: - urls: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=fd8e4bfb-a906-4601-9894-e166b3ecedda + urls: https://oapi.dingtalk.com/robot/send?access_token=6ddafcada8f44f4bad4a7314c4d9bd19a895ded0a1ba1afdaff5dd01a5af6781 content_type: application/json template: | { "msgtype": "markdown", "markdown": { - "content": "${{ job.status == 'success' && '✅' || '❌' }}**${{ gitea.repository }}** + "title":"项目部署通知", + "text": "${{ job.status == 'success' && '✅' || '❌' }}**${{ gitea.repository }}**\n >**构建结果**: ${{ job.status }} >**构建详情**: [点击查看](${{ gitea.server_url }}/${{ gitea.repository }}/actions/runs/${{ gitea.run_number }}) >**代码分支**: ${{ gitea.ref_name }} >**提交标识**: ${{ gitea.sha }} - >**提交发起**: ${{ gitea.actor}} + >**提交发起**: ${{ gitea.actor }} " } } diff --git a/.gitea/workflows/release-version.yaml b/.gitea/workflows/release-version.yaml index 4c57417..7378165 100644 --- a/.gitea/workflows/release-version.yaml +++ b/.gitea/workflows/release-version.yaml @@ -65,7 +65,7 @@ jobs: host: minio.23544.com port: 22105 username: marking - password: ${{ secrets.PWD_105 }} + password: ${{ secrets.PUBLISH_WIN_PASSWORD }} script: | mkdir /d/marking.cut.service @@ -82,7 +82,7 @@ jobs: host: minio.23544.com port: 22106 username: marking - password: ${{ secrets.PWD_106 }} + password: ${{ secrets.PUBLISH_WIN_PASSWORD }} script: | mkdir /d/marking.cut.service @@ -97,18 +97,19 @@ jobs: if: ${{ always() }} uses: actions/webhook@master with: - urls: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=fd8e4bfb-a906-4601-9894-e166b3ecedda + urls: https://oapi.dingtalk.com/robot/send?access_token=6ddafcada8f44f4bad4a7314c4d9bd19a895ded0a1ba1afdaff5dd01a5af6781 content_type: application/json template: | { "msgtype": "markdown", "markdown": { - "content": "${{ job.status == 'success' && '✅' || '❌' }}**${{ gitea.repository }}** + "title":"项目部署通知", + "text": "${{ job.status == 'success' && '✅' || '❌' }}**${{ gitea.repository }}**\n >**构建结果**: ${{ job.status }} >**构建详情**: [点击查看](${{ gitea.server_url }}/${{ gitea.repository }}/actions/runs/${{ gitea.run_number }}) >**代码分支**: ${{ gitea.ref_name }} >**提交标识**: ${{ gitea.sha }} - >**提交发起**: ${{ gitea.actor}} + >**提交发起**: ${{ gitea.actor }} " } } From 7262a4ab6eeff69c9e897fa5a66fd1f71c8583db Mon Sep 17 00:00:00 2001 From: qxa Date: Fri, 29 Mar 2024 15:54:49 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=84=9A=E6=9C=AC?= =?UTF-8?q?=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/push-master.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.gitea/workflows/push-master.yaml b/.gitea/workflows/push-master.yaml index 6858486..262ef39 100644 --- a/.gitea/workflows/push-master.yaml +++ b/.gitea/workflows/push-master.yaml @@ -30,8 +30,6 @@ jobs: name: 编译发布 runs-on: linux needs: release - env: - version: ${{ needs.release.outputs.version }} container: image: node:16-bullseye volumes: From f2447f77b4ed4bdcbfe845c4b1e643394e2e456f Mon Sep 17 00:00:00 2001 From: qxa Date: Fri, 29 Mar 2024 16:01:12 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8F=91=E5=B8=83?= =?UTF-8?q?=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/release-version.yaml | 18 +++++++++--------- Dolphin.ExamPictureCut.HttpApi.Host/Dockerfile | 3 --- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/.gitea/workflows/release-version.yaml b/.gitea/workflows/release-version.yaml index 7378165..56e73c0 100644 --- a/.gitea/workflows/release-version.yaml +++ b/.gitea/workflows/release-version.yaml @@ -31,15 +31,15 @@ jobs: 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: 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: | diff --git a/Dolphin.ExamPictureCut.HttpApi.Host/Dockerfile b/Dolphin.ExamPictureCut.HttpApi.Host/Dockerfile index 4f19583..7e9c175 100644 --- a/Dolphin.ExamPictureCut.HttpApi.Host/Dockerfile +++ b/Dolphin.ExamPictureCut.HttpApi.Host/Dockerfile @@ -1,8 +1,5 @@ FROM mcr.microsoft.com/dotnet/aspnet:8.0 -ARG ASPNETCORE_ENVIRONMENT -ENV ASPNETCORE_ENVIRONMENT ${ASPNETCORE_ENVIRONMENT} - ENV TZ=Asia/Shanghai \ DEBIAN_FRONTEND=noninteractive From b07c778d78e35e225b441fe692df8ec4fa18b7f3 Mon Sep 17 00:00:00 2001 From: qxa Date: Fri, 29 Mar 2024 16:14:41 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E7=94=9F=E4=BA=A7=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E5=8F=91=E5=B8=83=E4=B8=BAwin?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/push-master.yaml | 1 + .gitea/workflows/release-version.yaml | 1 + 2 files changed, 2 insertions(+) diff --git a/.gitea/workflows/push-master.yaml b/.gitea/workflows/push-master.yaml index 262ef39..93595ac 100644 --- a/.gitea/workflows/push-master.yaml +++ b/.gitea/workflows/push-master.yaml @@ -49,6 +49,7 @@ jobs: uses: actions/aspnet@8.0 with: project_name: ${{ env.PROJECT_NAME }} + os: win - name: 打包压缩 run: | diff --git a/.gitea/workflows/release-version.yaml b/.gitea/workflows/release-version.yaml index 56e73c0..64db7bc 100644 --- a/.gitea/workflows/release-version.yaml +++ b/.gitea/workflows/release-version.yaml @@ -30,6 +30,7 @@ jobs: uses: actions/aspnet@8.0 with: project_name: ${{ env.PROJECT_NAME }} + os: win # - name: 打包上传镜像 # uses: actions/docker@master