ci: update ci
This commit is contained in:
158
.drone.yml
158
.drone.yml
@@ -1,158 +0,0 @@
|
|||||||
kind: pipeline
|
|
||||||
type: docker
|
|
||||||
name: default
|
|
||||||
|
|
||||||
platform:
|
|
||||||
os: linux
|
|
||||||
arch: amd64
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: 测试服-依赖安装&&编译打包
|
|
||||||
pull: if-not-exists
|
|
||||||
image: node:20-alpine
|
|
||||||
when:
|
|
||||||
branch:
|
|
||||||
- test
|
|
||||||
commands:
|
|
||||||
- npm config set registry https://registry.npmmirror.com/
|
|
||||||
- npm install -g pnpm
|
|
||||||
- pnpm install
|
|
||||||
- pnpm build:test
|
|
||||||
- rm -rf dist.tar
|
|
||||||
- rm -rf node_modules
|
|
||||||
- tar -zcvf dist.tar ./dist ./default.conf ./Dockerfile
|
|
||||||
|
|
||||||
- name: 正式服-依赖安装&&编译打包
|
|
||||||
pull: if-not-exists
|
|
||||||
image: node:20-alpine
|
|
||||||
when:
|
|
||||||
branch:
|
|
||||||
- main
|
|
||||||
commands:
|
|
||||||
- npm config set registry https://registry.npmmirror.com/
|
|
||||||
- npm install -g pnpm
|
|
||||||
- pnpm install
|
|
||||||
- pnpm build:prod
|
|
||||||
- rm -rf dist.tar
|
|
||||||
- rm -rf node_modules
|
|
||||||
- tar -zcvf dist.tar ./dist ./default.conf ./Dockerfile
|
|
||||||
|
|
||||||
- name: 测试服-产物上传
|
|
||||||
pull: if-not-exists
|
|
||||||
image: appleboy/drone-scp
|
|
||||||
when:
|
|
||||||
branch:
|
|
||||||
- test
|
|
||||||
settings:
|
|
||||||
host:
|
|
||||||
from_secret: HOST_DEV
|
|
||||||
username:
|
|
||||||
from_secret: USER_DEV
|
|
||||||
password:
|
|
||||||
from_secret: PWD_DEV
|
|
||||||
port: 22
|
|
||||||
strip_components: 1
|
|
||||||
target: /www/builder
|
|
||||||
source:
|
|
||||||
- ./dist.tar
|
|
||||||
|
|
||||||
- name: 测试服-部署
|
|
||||||
pull: if-not-exists
|
|
||||||
image: appleboy/drone-ssh
|
|
||||||
when:
|
|
||||||
branch:
|
|
||||||
- test
|
|
||||||
settings:
|
|
||||||
host:
|
|
||||||
from_secret: HOST_DEV
|
|
||||||
username:
|
|
||||||
from_secret: USER_DEV
|
|
||||||
password:
|
|
||||||
from_secret: PWD_DEV
|
|
||||||
port: 22
|
|
||||||
script:
|
|
||||||
- cd /www/builder
|
|
||||||
- mkdir jdt-admin-dev
|
|
||||||
- tar -xzvf dist.tar -C /www/builder/jdt-admin-dev
|
|
||||||
- rm -rf dist.tar
|
|
||||||
- cd jdt-admin-dev
|
|
||||||
- docker build -t jdt-admin-dev .
|
|
||||||
- docker stop jdt-admin-dev
|
|
||||||
- docker rm jdt-admin-dev
|
|
||||||
- docker run -d -p 8085:80 --restart=always --name jdt-admin-dev jdt-admin-dev
|
|
||||||
- cd ..
|
|
||||||
- rm -rf jdt-admin-dev
|
|
||||||
|
|
||||||
- name: 正式服-产物上传
|
|
||||||
pull: if-not-exists
|
|
||||||
image: appleboy/drone-scp
|
|
||||||
when:
|
|
||||||
branch:
|
|
||||||
- main
|
|
||||||
settings:
|
|
||||||
host:
|
|
||||||
from_secret: HOST_PROD
|
|
||||||
username:
|
|
||||||
from_secret: USER_PROD
|
|
||||||
password:
|
|
||||||
from_secret: PWD_PROD
|
|
||||||
port: 22
|
|
||||||
strip_components: 1
|
|
||||||
target: /www/builder
|
|
||||||
source:
|
|
||||||
- ./dist.tar
|
|
||||||
|
|
||||||
- name: 正式服-部署
|
|
||||||
pull: if-not-exists
|
|
||||||
image: appleboy/drone-ssh
|
|
||||||
when:
|
|
||||||
branch:
|
|
||||||
- main
|
|
||||||
settings:
|
|
||||||
host:
|
|
||||||
from_secret: HOST_PROD
|
|
||||||
username:
|
|
||||||
from_secret: USER_PROD
|
|
||||||
password:
|
|
||||||
from_secret: PWD_PROD
|
|
||||||
port: 22
|
|
||||||
script:
|
|
||||||
- cd /www/builder
|
|
||||||
- mkdir jdt-admin-prod
|
|
||||||
- tar -xzvf dist.tar -C /www/builder/jdt-admin-prod
|
|
||||||
- rm -rf dist.tar
|
|
||||||
- cd jdt-admin-prod
|
|
||||||
- docker build -t jdt-admin-prod .
|
|
||||||
- docker stop jdt-admin-prod
|
|
||||||
- docker rm jdt-admin-prod
|
|
||||||
- docker run -d -p 8085:80 --restart=always --name jdt-admin-prod jdt-admin-prod
|
|
||||||
- cd ..
|
|
||||||
- rm -rf jdt-admin-prod
|
|
||||||
|
|
||||||
- name: 企业微信通知
|
|
||||||
pull: if-not-exists
|
|
||||||
image: plugins/webhook
|
|
||||||
when:
|
|
||||||
branch:
|
|
||||||
- test
|
|
||||||
- main
|
|
||||||
status:
|
|
||||||
- success
|
|
||||||
- failure
|
|
||||||
settings:
|
|
||||||
urls: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=a2065e21-4f92-4f5b-a432-2c0cd1d965b5
|
|
||||||
content_type: application/json
|
|
||||||
template: |
|
|
||||||
{
|
|
||||||
"msgtype": "markdown",
|
|
||||||
"markdown": {
|
|
||||||
"content": "{{#success build.status}}✅{{else}}❌{{/success}}**{{ repo.owner }}/{{ repo.name }}** (Build #{{build.number}})\n
|
|
||||||
>**构建结果**: {{ build.status }}
|
|
||||||
>**构建详情**: [点击查看]({{ build.link }})
|
|
||||||
>**代码分支**: {{ build.branch }}
|
|
||||||
>**提交标识**: {{ build.commit }}
|
|
||||||
>**提交发起**: {{ build.author }}
|
|
||||||
>**提交信息**: {{ build.message }}
|
|
||||||
"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -8,7 +8,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-and-deploy-dev:
|
build-and-deploy-dev:
|
||||||
if: github.ref_name == 'test'
|
if: gitea.ref_name == 'test'
|
||||||
runs-on: gitea_act_runner
|
runs-on: gitea_act_runner
|
||||||
container:
|
container:
|
||||||
image: node:24-alpine
|
image: node:24-alpine
|
||||||
@@ -72,19 +72,19 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
WEBHOOK_KEY: ${{ secrets.QYWX_WEBHOOK_KEY }}
|
WEBHOOK_KEY: ${{ secrets.QYWX_WEBHOOK_KEY }}
|
||||||
STATUS: ${{ job.status }}
|
STATUS: ${{ job.status }}
|
||||||
REPO: ${{ github.repository }}
|
REPO: ${{ gitea.repository }}
|
||||||
RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
RUN_URL: ${{ gitea.server_url }}/${{ gitea.repository }}/actions/runs/${{ gitea.run_id }}
|
||||||
BRANCH: ${{ github.ref_name }}
|
BRANCH: ${{ gitea.ref_name }}
|
||||||
COMMIT: ${{ github.sha }}
|
COMMIT: ${{ gitea.sha }}
|
||||||
ACTOR: ${{ github.actor }}
|
ACTOR: ${{ gitea.actor }}
|
||||||
run: |
|
run: |
|
||||||
apk add --no-cache curl jq
|
apk add --no-cache curl jq
|
||||||
EMOJI=$( [ "$STATUS" = "success" ] && echo "✅" || echo "❌" )
|
EMOJI=$( [ "$STATUS" = "success" ] && echo "✅" || echo "❌" )
|
||||||
MSG="$(printf "%s**%s** (Run #%s)\n>**构建结果**: %s\n>**构建详情**: [点击查看](%s)\n>**代码分支**: %s\n>**提交标识**: %s\n>**提交发起**: %s\n" "$EMOJI" "$REPO" "${{ github.run_number }}" "$STATUS" "$RUN_URL" "$BRANCH" "$COMMIT" "$ACTOR")"
|
MSG="$(printf "%s**%s** (Run #%s)\n>**构建结果**: %s\n>**构建详情**: [点击查看](%s)\n>**代码分支**: %s\n>**提交标识**: %s\n>**提交发起**: %s\n" "$EMOJI" "$REPO" "${{ gitea.run_number }}" "$STATUS" "$RUN_URL" "$BRANCH" "$COMMIT" "$ACTOR")"
|
||||||
curl -sS -H 'Content-Type: application/json' -d "{\"msgtype\":\"markdown\",\"markdown\":{\"content\":\"$MSG\"}}" "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=${WEBHOOK_KEY}"
|
curl -sS -H 'Content-Type: application/json' -d "{\"msgtype\":\"markdown\",\"markdown\":{\"content\":\"$MSG\"}}" "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=${WEBHOOK_KEY}"
|
||||||
|
|
||||||
build-and-deploy-prod:
|
build-and-deploy-prod:
|
||||||
if: github.ref_name == 'main'
|
if: gitea.ref_name == 'main'
|
||||||
runs-on: gitea_act_runner
|
runs-on: gitea_act_runner
|
||||||
container:
|
container:
|
||||||
image: node:24-alpine
|
image: node:24-alpine
|
||||||
@@ -148,13 +148,13 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
WEBHOOK_KEY: ${{ secrets.QYWX_WEBHOOK_KEY }}
|
WEBHOOK_KEY: ${{ secrets.QYWX_WEBHOOK_KEY }}
|
||||||
STATUS: ${{ job.status }}
|
STATUS: ${{ job.status }}
|
||||||
REPO: ${{ github.repository }}
|
REPO: ${{ gitea.repository }}
|
||||||
RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
RUN_URL: ${{ gitea.server_url }}/${{ gitea.repository }}/actions/runs/${{ gitea.run_id }}
|
||||||
BRANCH: ${{ github.ref_name }}
|
BRANCH: ${{ gitea.ref_name }}
|
||||||
COMMIT: ${{ github.sha }}
|
COMMIT: ${{ gitea.sha }}
|
||||||
ACTOR: ${{ github.actor }}
|
ACTOR: ${{ gitea.actor }}
|
||||||
run: |
|
run: |
|
||||||
apk add --no-cache curl jq
|
apk add --no-cache curl jq
|
||||||
EMOJI=$( [ "$STATUS" = "success" ] && echo "✅" || echo "❌" )
|
EMOJI=$( [ "$STATUS" = "success" ] && echo "✅" || echo "❌" )
|
||||||
MSG="$(printf "%s**%s** (Run #%s)\n>**构建结果**: %s\n>**构建详情**: [点击查看](%s)\n>**代码分支**: %s\n>**提交标识**: %s\n>**提交发起**: %s\n" "$EMOJI" "$REPO" "${{ github.run_number }}" "$STATUS" "$RUN_URL" "$BRANCH" "$COMMIT" "$ACTOR")"
|
MSG="$(printf "%s**%s** (Run #%s)\n>**构建结果**: %s\n>**构建详情**: [点击查看](%s)\n>**代码分支**: %s\n>**提交标识**: %s\n>**提交发起**: %s\n" "$EMOJI" "$REPO" "${{ gitea.run_number }}" "$STATUS" "$RUN_URL" "$BRANCH" "$COMMIT" "$ACTOR")"
|
||||||
curl -sS -H 'Content-Type: application/json' -d "{\"msgtype\":\"markdown\",\"markdown\":{\"content\":\"$MSG\"}}" "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=${WEBHOOK_KEY}"
|
curl -sS -H 'Content-Type: application/json' -d "{\"msgtype\":\"markdown\",\"markdown\":{\"content\":\"$MSG\"}}" "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=${WEBHOOK_KEY}"
|
||||||
|
|||||||
Reference in New Issue
Block a user