Files
mol-robot/.drone.yml
mol fda78b5772
Some checks reported errors
continuous-integration/drone/push Build encountered an error
test
2023-12-14 09:32:11 +08:00

102 lines
3.0 KiB
YAML

kind: pipeline # 定义一个管道
type: docker # 当前管道的类型
name: build # 当前管道的名称
steps: # 定义管道的执行步骤
# - name: build-project # 步骤名称
# image: node:18-bullseye # 当前步骤使用的镜像
# volumes:
# - name: node_modules
# path: /drone/src/node_modules
# commands: # 当前步骤执行的命令
# - pwd
# - npm config set registry https://registry.npm.taobao.org
# - npm i
- name: build-tags
image: yxs970707/drone-web-tags
depends_on: [clone]
settings:
tags:
- latest
- name: loading cache # 加载缓存
pull: if-not-exists # 如果镜像不存在则拉取,免去每次都要重新下载
image: drillster/drone-volume-cache
volumes:
- name: cache
path: /cache
settings:
restore: true
mount:
- ./nugetpackages
- name: loading npm cache
image: node
volumes:
- name: npm-cache
path: /drone/src/node_modules
commands:
- mkdir -p ./node_modules
- export NODE_MODULES_PATH=`pwd`/node_modules
- npm config set registry https://registry.npm.taobao.org
- npm i
- echo $NODE_MODULES_PATH
- name: build-image
pull: if-not-exists # 如果镜像不存在则拉取,免去每次都要重新下载
image: plugins/docker
depends_on: [loading npm cache]
settings:
username:
from_secret: docker_username
password:
from_secret: docker_passwd
dockerfile: Dockerfile
mirror: https://fpswa5tm.mirror.aliyuncs.com
registry: https://git.liliyamol.cn:8081
repo: git.liliyamol.cn:8081/mol/mol-robot
---
kind: pipeline # 定义一个管道
type: docker # 当前管道的类型
name: deploy # 当前管道的名称
depends_on:
- build
clone:
disable: true
steps:
- name: deploy-project
image: appleboy/drone-ssh
settings:
host:
from_secret: host
username:
from_secret: server_username # 使用secrets
key:
from_secret: server_key
port: 22
command_timeout: 2m
secrets: [docker_username, docker_passwd]
script:
- echo ==-----==开始部署==-----==
- docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWD git.liliyamol.cn:8081
- docker pull git.liliyamol.cn:8081/mol/mol-robot:latest
- list=$(docker ps -a | grep mol-robot* | awk '{print $1}')
- test "$list" = "" && echo "none mol-robot containers running" || docker stop $list && docker container rm $list
# 过滤出dockerImages的id, 删除none镜像
- docker run -d -p 16808:8080 --name=mol-robot_${DRONE_BUILD_NUMBER} --env-file /mnt/data/opt/mol-robot/.env git.liliyamol.cn:8081/mol/mol-robot:latest
- docker rmi $(docker images | grep "none" | awk '{print $3}')
- echo ==-----==部署成功==-----==
# 挂载本地磁盘路径
volumes:
- name: cache
host:
path: /tmp/drone-docker-cache
- name: npm-cache
host:
path: /var/lib/npm/cache