--- kind: pipeline type: docker name: default steps: - name: shellcheck image: koalaman/shellcheck-alpine commands: - cd scripts - find -name "*.sh" | xargs shellcheck - name: markdownlint image: markdownlint/markdownlint commands: - cd docs - find -name "*.md" | xargs mdl - name: docs image: michaelfbryan/mdbook-docker-image volumes: - name: cache path: /cache commands: - cd docs - mdbook build depends_on: - markdownlint - name: rebuild-cache image: drillster/drone-volume-cache volumes: - name: cache path: /cache settings: rebuild: true mount: - ./docs/book depends_on: - docs volumes: - name: cache host: path: /tmp/cache --- kind: pipeline type: docker name: backend steps: - name: ameba image: veelenga/ameba commands: - cd docker/backend - ameba micrate/src src - name: pgsanity image: boechat107/pgsanity commands: - pgsanity docker/backend/db/**/*.sql - name: deps image: crystallang/crystal:1.3-alpine volumes: - name: lib path: /drone/src/docker/backend/lib - name: cache path: /cache commands: - cd docker/backend - shards install - name: docs image: crystallang/crystal:1.3-alpine volumes: - name: lib path: /drone/src/docker/backend/lib commands: - cd docker/backend - make docs depends_on: - ameba - deps - name: rebuild-cache image: drillster/drone-volume-cache volumes: - name: cache path: /cache settings: rebuild: true mount: - ./docker/backend/docs depends_on: - docs - name: build image: tmaier/docker-compose volumes: - name: dockersock path: /var/run/docker.sock commands: - cp .example.env .env - docker-compose build --build-arg BUILD_ENV=development backend depends_on: - ameba - pgsanity volumes: - name: lib temp: {} - name: cache host: path: /tmp/cache - name: dockersock host: path: /var/run/docker.sock --- kind: pipeline type: docker name: frontend steps: - name: build image: tmaier/docker-compose volumes: - name: dockersock path: /var/run/docker.sock commands: - docker-compose build --build-arg BUILD_ENV=development frontend volumes: - name: dockersock host: path: /var/run/docker.sock --- kind: pipeline type: docker name: deploy steps: - name: restore-cache image: drillster/drone-volume-cache volumes: - name: cache path: /cache settings: restore: true mount: - ./docs/book - ./docker/backend/docs - name: deploy image: ringcentral/sshpass environment: SSHHOST: from_secret: docs_deploy_ssh_host SSHPASS: from_secret: docs_deploy_ssh_password volumes: - name: cache path: /cache commands: - mkdir /tmp/docs - cp -r ./docs/book/* /tmp/docs - mkdir -p /tmp/docs/_api/backend - cp -r ./docker/backend/docs/* /tmp/docs/_api/backend # - sshpass -e ssh $SSHUSER@$SSHHOST rm -rf /mnt/web/docs # - sshpass -e ssh $SSHUSER@$SSHHOST mkdir -p /mnt/web/docs # - sshpass -e scp -r /tmp/sdocs/* $SSHHOST:/mnt/web/docs - echo $SSHPASS | sshpass ssh -n $SSHHOST volumes: - name: cache host: path: /tmp/cache depends_on: - default - backend - frontend trigger: event: - promote target: - production