From fc657a9b85dd82119c49e91dbe67b6e2d4e6d70c Mon Sep 17 00:00:00 2001 From: Nivesh Krishna Date: Mon, 19 Dec 2022 13:57:22 +0530 Subject: [PATCH 1/6] add ci/cd --- .gitlab-ci.yml | 94 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 .gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..81ffb82 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,94 @@ +variables: + CONTAINER_IMAGE: ubuntu + CONTAINER_TAG: focal + CONTAINER_NAME: nextcloud + APP_NAME: Murena + +.deploy:nextcloud-app-by-checkout: + stage: deploy + # assuming all deployment will happen with sames image + image: $CONTAINER_IMAGE:$CONTAINER_TAG + # assuming we will need to add SSH for all deployment + before_script: + - echo "FAIL" > .job_status + - mkdir $HOME/.ssh + - chmod 700 ~/.ssh + - echo "$SSH_PRIVATE_KEY_ED" > $HOME/.ssh/id_ed25519 + - echo "$SSH_PUBKEY_ED" > $HOME/.ssh/id_ed25519.pub + - echo "$SSH_KNOWN_HOSTS" > $HOME/.ssh/known_hosts + - chmod 600 ~/.ssh/id_ed25519 + - chmod 644 ~/.ssh/known_hosts ~/.ssh/id_ed25519.pub + - apt-get update && apt-get install -y openssh-client rsync + script: + # print var to confirm + - echo "Deploying $APP_NAME theme to $CI_ENVIRONMENT_NAME ($DEPLOYMENT_HOST)" + # clone repo to /tmp + - ssh $SSH_USER@$DEPLOYMENT_HOST "git clone --depth 1 $CI_REPOSITORY_URL --branch $CI_COMMIT_REF_NAME --single-branch /tmp/${CI_JOB_ID}/${APP_NAME} && + sudo rsync -avzh --chown www-data:www-data --delete --exclude '.git*' /tmp/${CI_JOB_ID}/${APP_NAME} ${DEPLOYMENT_PATH}/html/custom_apps/snappymail/app/themes/" + - echo "SUCCESS" > .job_status + after_script: + # reading job status, checking it and implementing additional steps + # are not handled here as rm -rf /tmp/${CI_JOB_ID} will always execute + - ssh $SSH_USER@$DEPLOYMENT_HOST "rm -rf /tmp/${CI_JOB_ID}" + +deploy:dev01: + extends: .deploy:nextcloud-app-by-checkout + when: manual + only: + - /^dev\/.*$/ + - main + - murena-main + environment: + name: dev/01 + url: https://dev.eeo.one/ + variables: + CONTAINER_NAME: dev01_nextcloud + +deploy:dev02: + extends: .deploy:nextcloud-app-by-checkout + when: manual + only: + - /^dev\/.*$/ + - main + - murena-main + environment: + name: dev/02 + url: https://ecloud02.dev.eeo.one + variables: + DEPLOYMENT_BRANCH: $CI_COMMIT_BRANCH + CONTAINER_NAME: dev02_nextcloud + +deploy:dev03: + extends: .deploy:nextcloud-app-by-checkout + when: manual + only: + - /^dev\/.*$/ + - main + - murena-main + environment: + name: dev/03 + url: https://ecloud03.dev.eeo.one + variables: + CONTAINER_NAME: dev03_nextcloud + +deploy:staging: + extends: .deploy:nextcloud-app-by-checkout + when: manual + only: + - main + - murena-main + - production + - tags + environment: + name: staging/01 + url: https://eeo.one + +deploy:production: + extends: .deploy:nextcloud-app-by-checkout + when: manual + only: + - production + - tags + environment: + name: prod/hel01 + url: https://murena.io -- GitLab From f8487e608315a5dfedd6ea7d5682bd2430ca62ff Mon Sep 17 00:00:00 2001 From: Nivesh Krishna Date: Tue, 20 Dec 2022 14:19:27 +0530 Subject: [PATCH 2/6] use template --- .gitlab-ci.yml | 98 +++----------------------------------------------- 1 file changed, 4 insertions(+), 94 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 81ffb82..cb4f73e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,94 +1,4 @@ -variables: - CONTAINER_IMAGE: ubuntu - CONTAINER_TAG: focal - CONTAINER_NAME: nextcloud - APP_NAME: Murena - -.deploy:nextcloud-app-by-checkout: - stage: deploy - # assuming all deployment will happen with sames image - image: $CONTAINER_IMAGE:$CONTAINER_TAG - # assuming we will need to add SSH for all deployment - before_script: - - echo "FAIL" > .job_status - - mkdir $HOME/.ssh - - chmod 700 ~/.ssh - - echo "$SSH_PRIVATE_KEY_ED" > $HOME/.ssh/id_ed25519 - - echo "$SSH_PUBKEY_ED" > $HOME/.ssh/id_ed25519.pub - - echo "$SSH_KNOWN_HOSTS" > $HOME/.ssh/known_hosts - - chmod 600 ~/.ssh/id_ed25519 - - chmod 644 ~/.ssh/known_hosts ~/.ssh/id_ed25519.pub - - apt-get update && apt-get install -y openssh-client rsync - script: - # print var to confirm - - echo "Deploying $APP_NAME theme to $CI_ENVIRONMENT_NAME ($DEPLOYMENT_HOST)" - # clone repo to /tmp - - ssh $SSH_USER@$DEPLOYMENT_HOST "git clone --depth 1 $CI_REPOSITORY_URL --branch $CI_COMMIT_REF_NAME --single-branch /tmp/${CI_JOB_ID}/${APP_NAME} && - sudo rsync -avzh --chown www-data:www-data --delete --exclude '.git*' /tmp/${CI_JOB_ID}/${APP_NAME} ${DEPLOYMENT_PATH}/html/custom_apps/snappymail/app/themes/" - - echo "SUCCESS" > .job_status - after_script: - # reading job status, checking it and implementing additional steps - # are not handled here as rm -rf /tmp/${CI_JOB_ID} will always execute - - ssh $SSH_USER@$DEPLOYMENT_HOST "rm -rf /tmp/${CI_JOB_ID}" - -deploy:dev01: - extends: .deploy:nextcloud-app-by-checkout - when: manual - only: - - /^dev\/.*$/ - - main - - murena-main - environment: - name: dev/01 - url: https://dev.eeo.one/ - variables: - CONTAINER_NAME: dev01_nextcloud - -deploy:dev02: - extends: .deploy:nextcloud-app-by-checkout - when: manual - only: - - /^dev\/.*$/ - - main - - murena-main - environment: - name: dev/02 - url: https://ecloud02.dev.eeo.one - variables: - DEPLOYMENT_BRANCH: $CI_COMMIT_BRANCH - CONTAINER_NAME: dev02_nextcloud - -deploy:dev03: - extends: .deploy:nextcloud-app-by-checkout - when: manual - only: - - /^dev\/.*$/ - - main - - murena-main - environment: - name: dev/03 - url: https://ecloud03.dev.eeo.one - variables: - CONTAINER_NAME: dev03_nextcloud - -deploy:staging: - extends: .deploy:nextcloud-app-by-checkout - when: manual - only: - - main - - murena-main - - production - - tags - environment: - name: staging/01 - url: https://eeo.one - -deploy:production: - extends: .deploy:nextcloud-app-by-checkout - when: manual - only: - - production - - tags - environment: - name: prod/hel01 - url: https://murena.io +include: + - project: "e/infra/ecloud/nextcloud-apps/ci-templates" + ref: deploy-apps + file: "apps-checkout-deploy.yml" -- GitLab From a6813c77b1a332065b812d074999cd91db017097 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arnau=20V=C3=A0zquez?= Date: Tue, 20 Dec 2022 13:36:21 +0000 Subject: [PATCH 3/6] Reference to unified templates. --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index cb4f73e..f1fd52c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,4 +1,4 @@ include: - project: "e/infra/ecloud/nextcloud-apps/ci-templates" ref: deploy-apps - file: "apps-checkout-deploy.yml" + file: "nc-apps-checkout-deploy.yml" -- GitLab From f59ac2b7920caabed389ad83c24a907e68db03c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arnau=20V=C3=A0zquez?= Date: Tue, 20 Dec 2022 13:38:58 +0000 Subject: [PATCH 4/6] Don't enable or disable --- .gitlab-ci.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f1fd52c..850328c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,4 +1,8 @@ +variables: + OCC_ENABLE_AFTER_DEPLOY: 'false' + include: - project: "e/infra/ecloud/nextcloud-apps/ci-templates" ref: deploy-apps file: "nc-apps-checkout-deploy.yml" + -- GitLab From 1807df7b2f58827a7f7daeb5bf215804b15efcc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arnau=20V=C3=A0zquez?= Date: Tue, 20 Dec 2022 13:43:28 +0000 Subject: [PATCH 5/6] Specific theme name --- .gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 850328c..a1642fe 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,5 +1,6 @@ variables: OCC_ENABLE_AFTER_DEPLOY: 'false' + APP_NAME: 'murena-theme' include: - project: "e/infra/ecloud/nextcloud-apps/ci-templates" -- GitLab From 074d3ae8c12d6fdf26d7a26200e3c8874050aac8 Mon Sep 17 00:00:00 2001 From: Nivesh Krishna Date: Wed, 21 Dec 2022 08:39:19 +0000 Subject: [PATCH 6/6] Update .gitlab-ci.yml --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a1642fe..84f7494 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,9 +1,9 @@ variables: OCC_ENABLE_AFTER_DEPLOY: 'false' - APP_NAME: 'murena-theme' + APP_NAME: 'Murena' include: - project: "e/infra/ecloud/nextcloud-apps/ci-templates" - ref: deploy-apps + ref: main file: "nc-apps-checkout-deploy.yml" -- GitLab