# 项目的.drone.yml 文件 kind: pipeline # 定义一个管道 type: docker # 定义管道类型 name: build-test1 # 定义管道名称 # 声明宿主机 映射到 drone执行器的数据卷 volumes: - name: node_modules # 数据卷名称 # Host Volume, 挂载到宿主机上的卷轴 host: # 宿主机的绝对路径 path: /home/gite/drone/cache/node_modules # 已经不需要共享此卷轴了 # - name: web_build # host: # path: /home/git/drone/web_build/test1 # path: /usr/share/nginx/test1 steps: - name: build-project # 构建项目步骤 image: node:16.13.1 # 使用镜像和版本 depends_on: [clone] # 依赖 clone 步骤, volumes: # 当前步骤使用(挂载)的卷轴 - name: node_modules # 数据卷名称 path: /drone/src/node_modules # 容器内的绝对路径 # - name: web_build # path: /drone/src/dist # 执行的命令 commands: - pwd # 查看当前目录 - npm config set registry https://registry.npm.taobao.org # 切换淘宝镜像 - npm install # 安装依赖 - npm run build # 执行构建指令 # - tar -zcvPf tmp.tar.gz /drone/src/dist/* # 有打包需要再打包 - name: deploy-project # 上传文件步骤 image: appleboy/drone-scp depends_on: [build-project] # 依赖 build-project 步骤, settings: # 服务器地址, 账号, 密码 host: o2packs.com # 不使用secrets, 明文 username: from_secret: deploy_username # 使用secrets password: from_secret: deploy_password # 需要上传的文件 「需要相对路径, 如果用绝对路径会整条路径打包上传」 # source: ./dist # 单个 source: # 多个 # - !* # 全都忽略 - ./dist # 上传的目录文件夹 target: /usr/share/nginx/test1 # ps: 移除的目录是test1, 将source所有中定义的所有内容放入test1目录中 rm: true port: 22 command_timeout: 2m