A parallel question

My drone.yaml code

# A YAML template example.
kind: pipeline
type: docker
name: default
steps:
#  #编译代码
  - name: maven-build
    image: maven:3.6.3-openjdk-8-slim
    volumes:
      - name: maven-cache
        path: /root/.m2 # 将maven下载依赖的目录挂载出来,防止重复下载
    commands:
      - mvn install
#
#  #将镜像打包并且push到服务器
  - name: blade-admin
    image: plugins/docker
    pull: if-not-exists
    volumes:
      - name: docker
        path: /var/run/docker.sock
    settings:
      username:
        from_secret: docker_username
      password:
        from_secret: docker_password
      registry:
        from_secret: docker_registry
      repo: registry.cn-hangzhou.aliyuncs.com/huobancloud/blade-admin
      tags:
        from_secret: docker_tags
      dockerfile: ./blade-ops/blade-admin/Dockerfile
#
  - name: blade-auth
    image: plugins/docker
    pull: if-not-exists
    volumes:
      - name: docker
        path: /var/run/docker.sock
    settings:
      username:
        from_secret: docker_username
      password:
        from_secret: docker_password
      registry:
        from_secret: docker_registry
      repo: registry.cn-hangzhou.aliyuncs.com/huobancloud/blade-auth
      tags:
        from_secret: docker_tags
      dockerfile: ./blade-auth/Dockerfile

  - name: ssh commands
    image: appleboy/drone-ssh
    settings:
      host:
      - 10.242.44.95
      - 10.242.168.107
      username: root
      password: root
      port: 22
      script:
        - mkdir -p /data/test

volumes: # 定义流水线挂载目录,用于共享数据
  - name: maven-cache
    host:
      path: /data/app/maven/cache
  #Docker环境
  - name: docker
    host:
      path: /var/run/docker.sock
  #Docker配置
  - name: docker-daemon
    host:
      path: /etc/docker/daemon.json

The order I want to execute is:
maven-build > parallel(blade-admin、blade-auth) > ssh commands

How to write,thanks everybody

无意冒犯,感觉这是特定的镜像问题,建议多使用 log 类型的功能,例如 ls、cd、pwd,祝好运!
No offense, this seems to be a specific mirroring problem. It is recommended to use log type functions such as ls, cd, pwd, good luck!

Hello @star_gold

This should do what you want, see the depends_on parameters I have added:

#  #编译代码
  - name: maven-build
    image: maven:3.6.3-openjdk-8-slim
    volumes:
      - name: maven-cache
        path: /root/.m2 # 将maven下载依赖的目录挂载出来,防止重复下载
    commands:
      - mvn install
#
#  #将镜像打包并且push到服务器
  - name: blade-admin
    depends_on:
      - maven-build
    image: plugins/docker
    pull: if-not-exists
    volumes:
      - name: docker
        path: /var/run/docker.sock
    settings:
      username:
        from_secret: docker_username
      password:
        from_secret: docker_password
      registry:
        from_secret: docker_registry
      repo: registry.cn-hangzhou.aliyuncs.com/huobancloud/blade-admin
      tags:
        from_secret: docker_tags
      dockerfile: ./blade-ops/blade-admin/Dockerfile
#
  - name: blade-auth
    depends_on:
      - maven-build
    image: plugins/docker
    pull: if-not-exists
    volumes:
      - name: docker
        path: /var/run/docker.sock
    settings:
      username:
        from_secret: docker_username
      password:
        from_secret: docker_password
      registry:
        from_secret: docker_registry
      repo: registry.cn-hangzhou.aliyuncs.com/huobancloud/blade-auth
      tags:
        from_secret: docker_tags
      dockerfile: ./blade-auth/Dockerfile

  - name: ssh commands
    depends_on:
      - blade-admin
      - blade-auth
    image: appleboy/drone-ssh
    settings:
      host:
      - 10.242.44.95
      - 10.242.168.107
      username: root
      password: root
      port: 22
      script:
        - mkdir -p /data/test
2 Likes

Great. I succeeded. Thank you

1 Like