|                                                | 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 | kind: pipeline
type: docker
name: build
clone:
  disable: true
steps:
  - name: restore_cache
    image: drillster/drone-volume-cache
    volumes:
      - name: cache
        path: /tmp/drone-cache
    settings:
      restore: true
      mount:
        - /drone/docker
  - name: clone
    image: docker:git
    depends_on:
      - restore_cache
    environment:
      KEY:
        from_secret: DEPLOY_KEY
      PUBLIC:
        from_secret: DEPLOY_KEY_PUBLIC
      GIT_HOST:
        from_secret: GIT_HOST
      GIT_PORT:
        from_secret: GIT_PORT
      GIT_REPOSITORY:
        from_secret: GIT_REPOSITORY
    commands:
      - eval $(ssh-agent)
      - mkdir $HOME/.ssh && echo "$KEY" > $HOME/.ssh/id_rsa && chmod 600 $HOME/.ssh/id_rsa && echo "$PUBLIC" > $HOME/.ssh/id_rsa.pub
      - ssh-add $HOME/.ssh/id_rsa
      - ssh-keyscan -p $GIT_PORT -H $GIT_HOST > $HOME/.ssh/known_hosts
      - git clone $GIT_REPOSITORY ./
      - git checkout $DRONE_BRANCH
  - name: build_php_base
    image: plugins/docker
    storage_path: /drone/docker
    use_cache: true
    settings:
      dockerfile: docker/php/Dockerfile
      registry: registry:5000
      repo: registry:5000/arbitry_php_base
      tags: ${DRONE_BRANCH//\\//-}
      insecure: true
      use_cache: true
      build_args:
         - PHP_VERSION=7.4.4
    depends_on:
      - clone
    trigger:
      status:
        - success
  - name: build_php_fpm
    image: plugins/docker
    storage_path: /drone/docker
    use_cache: true
    settings:
      dockerfile: docker/php-fpm/Dockerfile
      registry: registry:5000
      repo: registry:5000/arbitry_php_fpm
      tags: ${DRONE_BRANCH//\\//-}
      insecure: true
      build_args:
        - BUILD_IMAGE=registry:5000/arbitry_php_base:${DRONE_BRANCH//\\//-}
        - PHP_VERSION=7.4.4
    depends_on:
      - build_php_base
    trigger:
      status:
        - success
  - name: rebuild_cache
    image: drillster/drone-volume-cache
    depends_on:
      - build_php_fpm
    volumes:
      - name: cache
        path: /tmp/drone-cache
    settings:
      rebuild: true
      mount:
        - /drone/docker
 |