ci(custom): update drone.yml
This commit is contained in:
157
drone.yml
Normal file
157
drone.yml
Normal file
@@ -0,0 +1,157 @@
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: default
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: amd64
|
||||
|
||||
steps:
|
||||
- name: 测试服-依赖安装&&编译打包
|
||||
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: 正式服-依赖安装&&编译打包
|
||||
image: node:20-alpine
|
||||
when:
|
||||
branch:
|
||||
- master
|
||||
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: 测试服-产物上传
|
||||
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: 测试服-部署
|
||||
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 .
|
||||
- target_container="jdt-admin-dev"
|
||||
- if docker ps -a --format '{{.Names}}' | grep -q "^$target_container$"; then
|
||||
- echo "容器存在,执行操作..."
|
||||
- docker stop jdt-admin-dev
|
||||
- docker rm jdt-admin-dev
|
||||
- else
|
||||
- echo "容器不存在"
|
||||
- fi
|
||||
- docker run -d -p 8082:80 --restart=always --name jdt-admin-dev jdt-admin-dev
|
||||
- cd ..
|
||||
- rm -rf jdt-admin-dev
|
||||
|
||||
- name: 正式服-产物上传
|
||||
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: 正式服-部署
|
||||
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
|
||||
- cd docker build -t jdt-admin-prod .
|
||||
- target_container="jdt-admin-prod"
|
||||
- if docker ps -a --format '{{.Names}}' | grep -q "^$target_container$"; then
|
||||
- echo "容器存在,执行操作..."
|
||||
- docker stop jdt-admin-prod
|
||||
- docker rm jdt-admin-prod
|
||||
- else
|
||||
- echo "容器不存在"
|
||||
- fi
|
||||
- docker run -d -p 8085:80 --restart=always --name jdt-admin-prod jdt-admin-prod
|
||||
- cd ..
|
||||
- rm -rf jdt-admin-prod
|
||||
|
||||
- name: 微信通知
|
||||
image: plugins/webhook
|
||||
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 }}
|
||||
>**构建耗时**: {{ job.started }}s
|
||||
"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user