From 47d4ec186be4b1c8feec773981af76d3c44bf641 Mon Sep 17 00:00:00 2001 From: giles Date: Wed, 18 Oct 2023 21:02:29 +0100 Subject: [PATCH] drone change --- .drone.yml | 310 +++-------------------------------------------------- 1 file changed, 16 insertions(+), 294 deletions(-) diff --git a/.drone.yml b/.drone.yml index 8cf3ad5..4d18927 100644 --- a/.drone.yml +++ b/.drone.yml @@ -76,6 +76,22 @@ clone: disable: false steps: +- name: "check out deployed" + when: + branch: + - format-branch + image: alpine/git:latest + commands: + - git config credential.helper '!f() { sleep 1; echo "username=${GIT_USER}"; echo "password=${GIT_PASSWORD}"; }; f' + - git fetch + - git checkout product-development + - git merge format-branch + environment: + GIT_PASSWORD: + from_secret: GIT_PASSWORD + GIT_USER: + from_secret: GIT_USER + - name: "check out deployed" when: branch: @@ -147,297 +163,3 @@ trigger: - push ---- -kind: pipeline -type: docker -name: save - -platform: - os: linux - arch: amd64 - -clone: - disable: true - -steps: -- name: mkdir - image: appleboy/drone-ssh:1.6.2@sha256:b801dc2cd238c192b6e99acfa7bc3f5b9a03f312bd2feb1e10b3a7a28a1b80ea - settings: - envs: - - drone_tag - - drone_commit - - drone_build_number - - drone_repo_name - - drone_repo_namespace - script: - - mkdir -p /stack/.images/ghost/built - - rm -f /stack/.images/ghost/*.* - - rm -f /stack/.images/ghost/built/*.* - -- name: alpine/git:v2.26.2 - 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 - - destination_registry - script: - - "n=0\nwhile :\ndo\n docker login $${REGISTRY_DOMAIN}:$${REGISTRY_PORT}/ --username client --password \"$${REGISTRY_PASSWORD}\" \\\\\n && break # substitute your command here\n n=$((n+1))\n if [ $n -ge 10 ]; then\n echo \"login failed\"\n exit 1\n fi\n echo \"retrying login..$n\"\n sleep 5\ndone\n" - - docker pull $${REGISTRY_DOMAIN}:$${REGISTRY_PORT}/stack/ghost/alpine/git:v2.26.2 - - docker save $${REGISTRY_DOMAIN}:$${REGISTRY_PORT}/stack/ghost/alpine/git:v2.26.2 -o /stack/.images/ghost/alpine_git:v2.26.2.tar - - echo "docker load < alpine_git:v2.26.2.tar" >> /stack/.images/ghost/load.sh - - echo "docker tag $${REGISTRY_DOMAIN}:$${REGISTRY_PORT}/stack/ghost/alpine/git:v2.26.2 $${DESTINATION_REGISTRY}/stack/ghost/alpine/git:v2.26.2" >> /stack/.images/ghost/load.sh - -- name: ghost:3.14.0 - 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 - - destination_registry - script: - - "n=0\nwhile :\ndo\n docker login $${REGISTRY_DOMAIN}:$${REGISTRY_PORT}/ --username client --password \"$${REGISTRY_PASSWORD}\" \\\\\n && break # substitute your command here\n n=$((n+1))\n if [ $n -ge 10 ]; then\n echo \"login failed\"\n exit 1\n fi\n echo \"retrying login..$n\"\n sleep 5\ndone\n" - - docker pull $${REGISTRY_DOMAIN}:$${REGISTRY_PORT}/stack/ghost/ghost:3.14.0 - - docker save $${REGISTRY_DOMAIN}:$${REGISTRY_PORT}/stack/ghost/ghost:3.14.0 -o /stack/.images/ghost/ghost:3.14.0.tar - - echo "docker load < ghost:3.14.0.tar" >> /stack/.images/ghost/load.sh - - echo "docker tag $${REGISTRY_DOMAIN}:$${REGISTRY_PORT}/stack/ghost/ghost:3.14.0 $${DESTINATION_REGISTRY}/stack/ghost/ghost:3.14.0" >> /stack/.images/ghost/load.sh - -- name: mysql:5.7 - 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 - - destination_registry - script: - - "n=0\nwhile :\ndo\n docker login $${REGISTRY_DOMAIN}:$${REGISTRY_PORT}/ --username client --password \"$${REGISTRY_PASSWORD}\" \\\\\n && break # substitute your command here\n n=$((n+1))\n if [ $n -ge 10 ]; then\n echo \"login failed\"\n exit 1\n fi\n echo \"retrying login..$n\"\n sleep 5\ndone\n" - - docker pull $${REGISTRY_DOMAIN}:$${REGISTRY_PORT}/stack/ghost/mysql:5.7 - - docker save $${REGISTRY_DOMAIN}:$${REGISTRY_PORT}/stack/ghost/mysql:5.7 -o /stack/.images/ghost/mysql:5.7.tar - - echo "docker load < mysql:5.7.tar" >> /stack/.images/ghost/load.sh - - echo "docker tag $${REGISTRY_DOMAIN}:$${REGISTRY_PORT}/stack/ghost/mysql:5.7 $${DESTINATION_REGISTRY}/stack/ghost/mysql:5.7" >> /stack/.images/ghost/load.sh - -- name: my-ghost - 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 - - destination_registry - script: - - "n=0\nwhile :\ndo\n docker login $${REGISTRY_DOMAIN}:$${REGISTRY_PORT}/ --username client --password \"$${REGISTRY_PASSWORD}\" \\\\\n && break # substitute your command here\n n=$((n+1))\n if [ $n -ge 10 ]; then\n echo \"login failed\"\n exit 1\n fi\n echo \"retrying login..$n\"\n sleep 5\ndone\n" - - docker pull $${REGISTRY_DOMAIN}:$${REGISTRY_PORT}/stack/ghost/my-ghost - - docker save $${REGISTRY_DOMAIN}:$${REGISTRY_PORT}/stack/ghost/my-ghost -o /stack/.images/ghost/built/my-ghost.tar - - echo "docker load my-ghost.tar" >> /stack/.images/ghost/built/load.sh - - echo "docker tag $${REGISTRY_DOMAIN}:$${REGISTRY_PORT}/stack/ghost/my-ghost ${DESINATION_REGISTRY}/stack/ghost/my-ghost" >> /stack/.images/ghost/built/load.sh - -trigger: - event: - - promote - target: - - save - ---- -kind: pipeline -type: docker -name: print - -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 - - mail_service - - mail_user - - commento_origin - - theme - - mysql_root_password - script: - - rm -f env-ghost - - "echo \"export MAIL_SERVICE='$${MAIL_SERVICE}'\" >> env-ghost # \"mail-service\"" - - "echo \"export MAIL_USER='$${MAIL_USER}'\" >> env-ghost # \"mail-user\"" - - "echo \"export COMMENTO_ORIGIN='$${COMMENTO_ORIGIN}'\" >> env-ghost # \"commento-origin\"" - - "echo \"export THEME='$${THEME}'\" >> env-ghost # \"theme\"" - - "echo \"export MYSQL_ROOT_PASSWORD='$${MYSQL_ROOT_PASSWORD}'\" >> env-ghost # \"mysql-root-password\"" - environment: - COMMENTO_ORIGIN: - from_secret: commento-origin - MAIL_SERVICE: - from_secret: mail-service - MAIL_USER: - from_secret: mail-user - MYSQL_ROOT_PASSWORD: - from_secret: mysql-root-password - THEME: - from_secret: theme - -trigger: - event: - - promote - target: - - print - ---- -kind: pipeline -type: docker -name: build - -platform: - os: linux - arch: amd64 - -steps: -- name: "dockerbuild:" - image: docker:19.03.12-dind@sha256:8dded163e463f4a59bf305b3dca98e312b2cfb89a43da3872e48f95a7554c48f - commands: - - set -e - - export NAME=ghost - - export ROOT=stack - - "n=0\nwhile :\ndo\n docker login $${REGISTRY_DOMAIN}:$${REGISTRY_PORT}/ --username client --password \"$${REGISTRY_PASSWORD}\" \\\\\n && break # substitute your command here\n n=$((n+1))\n if [ $n -ge 10 ]; then\n echo \"login failed\"\n exit 1\n fi\n echo \"retrying login..$n\"\n sleep 5\ndone\n" - - sh .drone/build.sh - - sh .drone/push.sh - environment: - THEME: - from_secret: theme - 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 - - name: daemonjson - path: /etc/docker/daemon.json - -volumes: -- name: dockersock - temp: {} -- name: ca - host: - path: /etc/docker/certs.d -- name: daemonjson - host: - path: /etc/docker/daemon.json - -trigger: - event: - - promote - target: - - build - ---- -kind: pipeline -type: docker -name: deploy - -platform: - os: linux - arch: amd64 - -steps: -- name: scp - image: appleboy/drone-scp:1.6.2@sha256:bd37a55f4b97e7742b0de7333669b96220b3cc422d366e1fa8c34059b736ab47 - settings: - command_timeout: 2m - source: - - . - target: /stack/ghost - -- 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 - - scheme - - domain - - registry_domain - - registry_port - - registry_password - - mail_service - - mail_user - - commento_origin - - theme - - mysql_root_password - - theme - script: - - export MYSQL_ROOT_PASSWORD=$${MYSQL_ROOT_PASSWORD} - - export MAIL_SERVICE=$${MAIL_SERVICE} - - export MAIL_USER=$${MAIL_USER} - - export COMMENTO_ORIGIN=$${COMMENTO_ORIGIN} - - export THEME=$${THEME} - - export THEME=$${THEME} - - export SCHEME=$${SCHEME} - - export DOMAIN=$${DOMAIN} - - export REGISTRY_DOMAIN=$${REGISTRY_DOMAIN} - - export REGISTRY_PORT=$${REGISTRY_PORT} - - export REGISTRY_PASSWORD=$${REGISTRY_PASSWORD} - - set -e - - export NAME=ghost - - export ROOT=stack - - cd /stack/ghost - - "n=0\nwhile :\ndo\n docker login $${REGISTRY_DOMAIN}:$${REGISTRY_PORT}/ --username client --password \"$${REGISTRY_PASSWORD}\" \\\\\n && break # substitute your command here\n n=$((n+1))\n if [ $n -ge 10 ]; then\n echo \"login failed\"\n exit 1\n fi\n echo \"retrying login..$n\"\n sleep 5\ndone\n" - - sh .drone/pull.sh - - sh .drone/deploy.sh - environment: - COMMENTO_ORIGIN: - from_secret: commento-origin - MAIL_SERVICE: - from_secret: mail-service - MAIL_USER: - from_secret: mail-user - MYSQL_ROOT_PASSWORD: - from_secret: mysql-root-password - THEME: - from_secret: theme - -trigger: - event: - - promote - - promote - target: - - deploy - - production - -...