--- kind: pipeline type: docker name: register platform: os: linux arch: amd64 clone: disable: true trigger: event: exclude: - promote --- kind: pipeline type: docker name: registry platform: os: linux arch: amd64 steps: - name: "dockerpull and save docker images:" image: docker:19.03.12-dind@sha256:8dded163e463f4a59bf305b3dca98e312b2cfb89a43da3872e48f95a7554c48f commands: - set -e - export REGISTRY=$${REGISTRY_DOMAIN}:$${REGISTRY_PORT}/ - sh .drone/scripts/initialise-images.sh $${REGISTRY} $${REGISTRY_PASSWORD} volumes: - name: dockersock path: /var/run services: - name: docker image: docker:19.03.12-dind@sha256:8dded163e463f4a59bf305b3dca98e312b2cfb89a43da3872e48f95a7554c48f privileged: true volumes: - name: dockersock path: /var/run - name: ca path: /etc/docker/certs.d volumes: - name: dockersock temp: {} - name: ca host: path: /etc/docker/certs.d image_pull_secrets: - dockerconfigjson trigger: event: - promote target: - registry --- kind: pipeline type: docker name: deploy platform: os: linux arch: amd64 steps: - name: print env image: appleboy/drone-ssh:1.6.2@sha256:b801dc2cd238c192b6e99acfa7bc3f5b9a03f312bd2feb1e10b3a7a28a1b80ea settings: envs: - drone_tag - drone_commit - drone_build_number - drone_repo_name - drone_repo_namespace - postgres_db - postgres_user - postgres_password script: - rm -f env-guacamole - "echo \"export POSTGRES_DB='$${POSTGRES_DB}'\" >> env-guacamole # \"postgres-db\"" - "echo \"export POSTGRES_USER='$${POSTGRES_USER}'\" >> env-guacamole # \"postgres-user\"" - "echo \"export POSTGRES_PASSWORD='$${POSTGRES_PASSWORD}'\" >> env-guacamole # \"postgres-password\"" environment: POSTGRES_DB: from_secret: postgres-db POSTGRES_PASSWORD: from_secret: postgres-password POSTGRES_USER: from_secret: postgres-user - name: scp image: appleboy/drone-scp:1.6.2@sha256:bd37a55f4b97e7742b0de7333669b96220b3cc422d366e1fa8c34059b736ab47 settings: command_timeout: 2m source: - . target: /stack/guacamole - name: wait image: alpine:3.12.0@sha256:90baa0922fe90624b05cb5766fa5da4e337921656c2f8e2b13bd3c052a0baac1 commands: - sleep 15 - name: "dockerbuild:" image: docker:19.03.12-dind@sha256:8dded163e463f4a59bf305b3dca98e312b2cfb89a43da3872e48f95a7554c48f commands: - set -e - sh .drone/login.sh - sh .drone/build.sh - sh .drone/push.sh - sh .drone/logout.sh volumes: - name: dockersock path: /var/run - name: deploy image: appleboy/drone-ssh:1.6.2@sha256:b801dc2cd238c192b6e99acfa7bc3f5b9a03f312bd2feb1e10b3a7a28a1b80ea settings: envs: - drone_tag - drone_commit - drone_build_number - drone_repo_name - drone_repo_namespace - registry_domain - registry_port - registry_password - postgres_db - postgres_user - postgres_password script: - export POSTGRES_PASSWORD=$${POSTGRES_PASSWORD} - export POSTGRES_DB=$${POSTGRES_DB} - export POSTGRES_USER=$${POSTGRES_USER} - export REGISTRY_DOMAIN=$${REGISTRY_DOMAIN} - export REGISTRY_PORT=$${REGISTRY_PORT} - export REGISTRY_PASSWORD=$${REGISTRY_PASSWORD} - set -e - cd /stack/guacamole - sh .drone/login.sh - sh .drone/pull.sh - sh .drone/deploy.sh environment: POSTGRES_DB: from_secret: postgres-db POSTGRES_PASSWORD: from_secret: postgres-password POSTGRES_USER: from_secret: postgres-user services: - name: docker image: docker:19.03.12-dind@sha256:8dded163e463f4a59bf305b3dca98e312b2cfb89a43da3872e48f95a7554c48f privileged: true volumes: - name: dockersock path: /var/run - name: ca path: /etc/docker/certs.d volumes: - name: dockersock temp: {} - name: ca host: path: /etc/docker/certs.d trigger: event: - promote target: - production ...