diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..f7efdb7 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,62 @@ +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-image + image: plugins/docker + depends_on: [clone] + settings: + username: + from_secret: docker_username + password: + from_secret: docker_passwd + dockerfile: Dockerfile + registry: https://git.hiiragi.club:8081 + repo: git.hiiragi.club:8081/mol/rss-server + auto_tag: true + +--- +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.hiiragi.club:8081 + - docker pull git.hiiragi.club:8081/mol/rss-server:latest + - list=$(docker ps -a | grep rss_server* | awk '{print $1}') + - test "$list" = "" && echo "none rss_server containers running" || docker stop $list && docker container rm $list + # 过滤出dockerImages的id, 删除none镜像 + - docker run -d --name=rss_server git.hiiragi.club:8081/mol/rss-server:latest + - docker rmi $(docker images | grep "none" | awk '{print $3}') + - echo ==-----==部署成功==-----==