kind: pipeline # 定义对象类型，还有secret和signature两种类型
type: docker # 定义流水线类型，还有kubernetes、exec、ssh等类型
name: weverse-ui # 定义流水线名称

steps: # 定义流水线执行步骤，这些步骤将顺序执行
  - name: package # 1. 流水线名称（npm打包）
    pull: if-not-exists
    image: node:20.10.0 # 定义创建容器的Docker镜像
    volumes: # 将容器内目录挂载到宿主机，仓库需要开启Trusted设置
        # 挂载宿主机的目录
      - name: npm-build
        path: /drone/weverse/src/dist # 将应用打包好的Jar和执行脚本挂载出来
    commands: # 定义在Docker容器中执行的shell命令,这里是复制到npm镜像容器里面的，区分开项目就行了
      - npm config set registry http://registry.npm.taobao.org
      - npm install
      - npm run build:prod

#  - name: notify # 3. 通知（这里使用了钉钉通知，可以使用微信通知、邮件通知等）
#    pull: if-not-exists
#    image: guoxudongdocker/drone-dingtalk:latest
#    settings:
#      token:
#        from_secret: dingtalk_token
#      type: markdown
#      message_color: true
#      message_pic: true
#      sha_link: true
#    when:
#      status: [failure, success]

volumes: # 定义流水线挂载目录，用于共享数据
  - name: npm-build
    host:
      path: /home/d1/node/build/weverse-ui # 从宿主机中挂载的目录
