From de8a6b9dc7b6621b603948ed4ca56087a75c9ad0 Mon Sep 17 00:00:00 2001 From: admin Date: Mon, 1 Dec 2025 17:13:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6=E8=87=B3?= =?UTF-8?q?=E3=80=8C.gitea/workflows=E3=80=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/develop_build_commit.yaml | 40 +++++++++++++++++-- .gitea/workflows/develop_build_manual.yaml | 39 ++++++++++++++++++- .gitea/workflows/prod_build_manual.yaml | 43 ++++++++++++++++----- .gitea/workflows/prod_build_schedule.yaml | 45 +++++++++++++++++----- 4 files changed, 143 insertions(+), 24 deletions(-) diff --git a/.gitea/workflows/develop_build_commit.yaml b/.gitea/workflows/develop_build_commit.yaml index b1797dbd..78bd9df1 100644 --- a/.gitea/workflows/develop_build_commit.yaml +++ b/.gitea/workflows/develop_build_commit.yaml @@ -1,4 +1,4 @@ -name: git commit 控制 AiDA WEB-Node.js Develop 分支构建部署123 +name: git commit 控制 AiDA WEB-Node.js 开发分支构建部署 on: workflow_dispatch: @@ -14,13 +14,18 @@ jobs: strategy: matrix: node-version: [ 18.18.0 ] - env: REMOTE_DEPLOY_PATH: /workspace/workspace_aida/DevelopVersion/develop-aida-web-front steps: + - name: 0.记录开始时间 + id: build_start_time + run: echo "current_time=$(TZ='Asia/Hong_Kong' date '+%Y-%m-%d %H:%M:%S %Z')" >> $GITHUB_OUTPUT + - name: 1.检出代码 uses: actions/checkout@v4 + with: + ref: dev_vite - name: 2.设置 Node.js 环境 uses: actions/setup-node@v6 @@ -53,4 +58,33 @@ jobs: # 💡 注意:执行此命令需要服务器用户具有 sudo 权限,并且配置了 NOPASSWD。 # 否则工作流可能会因为权限不足而失败。 sudo systemctl reload nginx - echo "Nginx 重载命令已发送。" \ No newline at end of file + echo "Nginx 重载命令已发送。" + + - name: 5.发送构建结果邮件 + if: always() # 无论上一步是否失败,都执行此步骤 + uses: dawidd6/action-send-mail@v3 + with: + + from: ${{ secrets.MAIL_USERNAME }} + # --- 邮件配置 --- + server_address: smtp.gmail.com # 替换为你的SMTP服务器地址 + server_port: 465 # 替换为你的SMTP端口 (通常是465或587) + username: ${{ secrets.MAIL_USERNAME }} # 存储在Secrets中的邮箱用户名 + password: ${{ secrets.MAIL_PASSWORD }} # 存储在Secrets中的邮箱密码 + subject: 'Gitea Actions 构建通知: ${{ job.status }} - AiDA back-java Develop' + # 收件人列表,可以根据需要更改 + to: 'xupei3360@163.com,txli@aidlab.hk,cgzhou@aidlab.hk,zchengrong@yeah.net' # 替换为实际收件人邮箱 + + # --- 邮件正文内容 --- + body: | + 项目: AiDA back-java Develop + 分支: dev/3.1_release_merge + + 🎉 构建结果: ${{ job.status }} + + 📅 构建时间: ${{ steps.build_start_time.outputs.current_time }} + + 🔗 构建链接: ${{ gitea.server_url }}/${{ gitea.repository.owner.name }}/${{ gitea.repository.name }}/actions/runs/${{ gitea.run_id }} + + # 确保邮件内容为纯文本,或者你可以设置为 html: true 并调整 body + content_type: text/plain \ No newline at end of file diff --git a/.gitea/workflows/develop_build_manual.yaml b/.gitea/workflows/develop_build_manual.yaml index 09758be3..2bb00c08 100644 --- a/.gitea/workflows/develop_build_manual.yaml +++ b/.gitea/workflows/develop_build_manual.yaml @@ -1,4 +1,4 @@ -name: 手动触发 AiDA WEB-Node.js Develop 分支构建部署 +name: 手动触发 AiDA WEB-Node.js 开发分支构建部署 on: workflow_dispatch: @@ -13,8 +13,14 @@ jobs: REMOTE_DEPLOY_PATH: /workspace/workspace_aida/DevelopVersion/develop-aida-web-front steps: + - name: 0.记录开始时间 + id: build_start_time + run: echo "current_time=$(TZ='Asia/Hong_Kong' date '+%Y-%m-%d %H:%M:%S %Z')" >> $GITHUB_OUTPUT + - name: 1.检出代码 uses: actions/checkout@v4 + with: + ref: dev_vite - name: 2.设置 Node.js 环境 uses: actions/setup-node@v6 @@ -47,4 +53,33 @@ jobs: # 💡 注意:执行此命令需要服务器用户具有 sudo 权限,并且配置了 NOPASSWD。 # 否则工作流可能会因为权限不足而失败。 sudo systemctl reload nginx - echo "Nginx 重载命令已发送。" \ No newline at end of file + echo "Nginx 重载命令已发送。" + + - name: 5.发送构建结果邮件 + if: always() # 无论上一步是否失败,都执行此步骤 + uses: dawidd6/action-send-mail@v3 + with: + + from: ${{ secrets.MAIL_USERNAME }} + # --- 邮件配置 --- + server_address: smtp.gmail.com # 替换为你的SMTP服务器地址 + server_port: 465 # 替换为你的SMTP端口 (通常是465或587) + username: ${{ secrets.MAIL_USERNAME }} # 存储在Secrets中的邮箱用户名 + password: ${{ secrets.MAIL_PASSWORD }} # 存储在Secrets中的邮箱密码 + subject: 'Gitea Actions 构建通知: ${{ job.status }} - AiDA back-java Develop' + # 收件人列表,可以根据需要更改 + to: 'xupei3360@163.com,txli@aidlab.hk,cgzhou@aidlab.hk,zchengrong@yeah.net' # 替换为实际收件人邮箱 + + # --- 邮件正文内容 --- + body: | + 项目: AiDA back-java Develop + 分支: dev/3.1_release_merge + + 🎉 构建结果: ${{ job.status }} + + 📅 构建时间: ${{ steps.build_start_time.outputs.current_time }} + + 🔗 构建链接: ${{ gitea.server_url }}/${{ gitea.repository.owner.name }}/${{ gitea.repository.name }}/actions/runs/${{ gitea.run_id }} + + # 确保邮件内容为纯文本,或者你可以设置为 html: true 并调整 body + content_type: text/plain \ No newline at end of file diff --git a/.gitea/workflows/prod_build_manual.yaml b/.gitea/workflows/prod_build_manual.yaml index dfb35102..0302dedc 100644 --- a/.gitea/workflows/prod_build_manual.yaml +++ b/.gitea/workflows/prod_build_manual.yaml @@ -1,4 +1,4 @@ -name: AiDA WEB-Node.js StableVersion 分支构建部署 +name: AiDA WEB-Node.js 生产分支构建部署 on: workflow_dispatch: @@ -11,17 +11,16 @@ jobs: node-version: [ 18.18.0 ] steps: + - name: 0.记录开始时间 + id: build_start_time + run: echo "current_time=$(TZ='Asia/Hong_Kong' date '+%Y-%m-%d %H:%M:%S %Z')" >> $GITHUB_OUTPUT + - name: 1.检出代码 uses: actions/checkout@v4 with: ref: StableVersion - - name: 2.打印当前分支信息 - run: | - echo "Current branch being deployed is: $(git rev-parse --abbrev-ref HEAD)" - echo "The code is from the 'main' branch, as specified in 'actions/checkout'." - - - name: 3.设置 Node.js 环境 ${{ matrix.node-version }} + - name: 2.设置 Node.js 环境 uses: actions/setup-node@v6 with: node-version: ${{ matrix.node-version }} @@ -49,5 +48,31 @@ jobs: run: | aws s3 sync dist/ s3://${{ secrets.S3_BUCKET_NAME }}/ --acl public-read - - name: 6.部署完成 - run: echo "构建和部署到 S3 任务完成。" \ No newline at end of file + - name: 6.发送构建结果邮件 + if: always() # 无论上一步是否失败,都执行此步骤 + uses: dawidd6/action-send-mail@v3 + with: + + from: ${{ secrets.MAIL_USERNAME }} + # --- 邮件配置 --- + server_address: smtp.gmail.com # 替换为你的SMTP服务器地址 + server_port: 465 # 替换为你的SMTP端口 (通常是465或587) + username: ${{ secrets.MAIL_USERNAME }} # 存储在Secrets中的邮箱用户名 + password: ${{ secrets.MAIL_PASSWORD }} # 存储在Secrets中的邮箱密码 + subject: 'Gitea Actions 构建通知: ${{ job.status }} - AiDA back-java Develop' + # 收件人列表,可以根据需要更改 + to: 'xupei3360@163.com,txli@aidlab.hk,cgzhou@aidlab.hk,zchengrong@yeah.net' # 替换为实际收件人邮箱 + + # --- 邮件正文内容 --- + body: | + 项目: AiDA back-java Develop + 分支: dev/3.1_release_merge + + 🎉 构建结果: ${{ job.status }} + + 📅 构建时间: ${{ steps.build_start_time.outputs.current_time }} + + 🔗 构建链接: ${{ gitea.server_url }}/${{ gitea.repository.owner.name }}/${{ gitea.repository.name }}/actions/runs/${{ gitea.run_id }} + + # 确保邮件内容为纯文本,或者你可以设置为 html: true 并调整 body + content_type: text/plain \ No newline at end of file diff --git a/.gitea/workflows/prod_build_schedule.yaml b/.gitea/workflows/prod_build_schedule.yaml index c1ab8bef..ed7192dc 100644 --- a/.gitea/workflows/prod_build_schedule.yaml +++ b/.gitea/workflows/prod_build_schedule.yaml @@ -1,9 +1,9 @@ -name: AiDA WEB-Node.js StableVersion 分支构建部署 +name: AiDA WEB-Node.js 生产分支构建部署 on: schedule: # cron为UTC时区,构建时间=部署时间-8小时 {*分 (-8)时 *日 *月 *周} --- # 示例: 1月1日22点22分触发构建 cron写作 - '22 14 1 1 *' - - cron: '59 15 28 11 *' + - cron: '22 14 1 1 *' jobs: build: @@ -14,17 +14,16 @@ jobs: node-version: [ 18.18.0 ] steps: + - name: 0.记录开始时间 + id: build_start_time + run: echo "current_time=$(TZ='Asia/Hong_Kong' date '+%Y-%m-%d %H:%M:%S %Z')" >> $GITHUB_OUTPUT + - name: 1.检出代码 uses: actions/checkout@v4 with: ref: StableVersion - - name: 2.打印当前分支信息 - run: | - echo "Current branch being deployed is: $(git rev-parse --abbrev-ref HEAD)" - echo "The code is from the 'main' branch, as specified in 'actions/checkout'." - - - name: 3.设置 Node.js 环境 ${{ matrix.node-version }} + - name: 2.设置 Node.js 环境 uses: actions/setup-node@v6 with: node-version: ${{ matrix.node-version }} @@ -52,5 +51,31 @@ jobs: run: | aws s3 sync dist/ s3://${{ secrets.S3_BUCKET_NAME }}/ --acl public-read - - name: 6.部署完成 - run: echo "构建和部署到 S3 任务完成。" \ No newline at end of file + - name: 6.发送构建结果邮件 + if: always() # 无论上一步是否失败,都执行此步骤 + uses: dawidd6/action-send-mail@v3 + with: + + from: ${{ secrets.MAIL_USERNAME }} + # --- 邮件配置 --- + server_address: smtp.gmail.com # 替换为你的SMTP服务器地址 + server_port: 465 # 替换为你的SMTP端口 (通常是465或587) + username: ${{ secrets.MAIL_USERNAME }} # 存储在Secrets中的邮箱用户名 + password: ${{ secrets.MAIL_PASSWORD }} # 存储在Secrets中的邮箱密码 + subject: 'Gitea Actions 构建通知: ${{ job.status }} - AiDA back-java Develop' + # 收件人列表,可以根据需要更改 + to: 'xupei3360@163.com,txli@aidlab.hk,cgzhou@aidlab.hk,zchengrong@yeah.net' # 替换为实际收件人邮箱 + + # --- 邮件正文内容 --- + body: | + 项目: AiDA back-java Develop + 分支: dev/3.1_release_merge + + 🎉 构建结果: ${{ job.status }} + + 📅 构建时间: ${{ steps.build_start_time.outputs.current_time }} + + 🔗 构建链接: ${{ gitea.server_url }}/${{ gitea.repository.owner.name }}/${{ gitea.repository.name }}/actions/runs/${{ gitea.run_id }} + + # 确保邮件内容为纯文本,或者你可以设置为 html: true 并调整 body + content_type: text/plain \ No newline at end of file