From 1109c16d613284e01343272ab415e1bce90f750e Mon Sep 17 00:00:00 2001 From: Fazle Rabbi Date: Mon, 23 May 2022 17:06:42 +0600 Subject: [PATCH 01/10] replace job deploy with remote template --- .gitlab-ci.yml | 71 +++++--------------------------------------------- 1 file changed, 6 insertions(+), 65 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index daeb1d5..06cf8f8 100755 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -43,73 +43,14 @@ build-frontend: paths: - dist/ +include: + - project: 'e/infra/selfhost/nextcloud-apps/ci-templates' + ref: dev/template + file: 'auto-deploy-pipelines.yml' + .deploy:nextcloud-app: - image: ubuntu:focal stage: deploy dependencies: - build-frontend - before_script: - - 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: - - echo "Deploying $CI_PROJECT_NAME of $CI_PROJECT_PATH_SLUG to $CI_ENVIRONMENT_NAME ($DEPLOYMENT_HOST)" - - rsync -avzh dist/ $SSH_USER@$DEPLOYMENT_HOST:/tmp/${CI_JOB_ID} + after_script: - ssh $SSH_USER@$DEPLOYMENT_HOST "sudo rsync -avzh --chown www-data:www-data --delete /tmp/${CI_JOB_ID}/$CI_PROJECT_NAME ${DEPLOYMENT_PATH}/html/custom_apps/ && rm -rf /tmp/${CI_JOB_ID} && sudo docker exec -u www-data $CONTAINER_NAME /var/www/html/occ app:enable $CI_PROJECT_NAME" - -deploy:dev01: - extends: .deploy:nextcloud-app - when: manual - only: - - /^dev\/.*$/ - - main - environment: - name: dev/01 - url: https://dev.eeo.one/ - variables: - DEPLOYMENT_BRANCH: $CI_COMMIT_BRANCH - CONTAINER_NAME: dev01_nextcloud - -deploy:dev02: - extends: .deploy:nextcloud-app - when: manual - only: - - /^dev\/.*$/ - - 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 - when: manual - only: - - /^dev\/.*$/ - - main - environment: - name: dev/03 - url: https://ecloud03.dev.eeo.one - variables: - DEPLOYMENT_BRANCH: $CI_COMMIT_BRANCH - CONTAINER_NAME: dev03_nextcloud - -deploy:staging: - extends: .deploy:nextcloud-app - when: manual - only: - - main - - production - environment: - name: staging/01 - url: https://eeo.one - variables: - DEPLOYMENT_BRANCH: $CI_COMMIT_BRANCH - CONTAINER_NAME: nextcloud -- GitLab From e41ece2a683267dcf2aa915490c2052bd753cce5 Mon Sep 17 00:00:00 2001 From: Fazle Rabbi Date: Tue, 24 May 2022 11:46:14 +0600 Subject: [PATCH 02/10] remove execution bit from .gitlab-ci.yml --- .gitlab-ci.yml | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 .gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml old mode 100755 new mode 100644 -- GitLab From 8e1b16bb8d96946ef070946fb9989342b020a515 Mon Sep 17 00:00:00 2001 From: Fazle Rabbi Date: Tue, 24 May 2022 18:53:58 +0600 Subject: [PATCH 03/10] replace lint, build-frontend job with remote template --- .gitlab-ci.yml | 43 +++++++++++++++++++++---------------------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 06cf8f8..1a9ced7 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -27,30 +27,29 @@ install-node-deps: changes: - package*.json +include: + - project: "e/infra/ecloud/nextcloud-apps/ci-templates" + ref: dev/template + file: "nc-apps-build-frontend.yml" + - project: "e/infra/ecloud/nextcloud-apps/ci-templates" + ref: dev/template + file: "nc-apps-deploy.yml" + - project: "e/infra/ecloud/nextcloud-apps/ci-templates" + ref: dev/template + file: "nc-apps-lint.yml" + lint: - stage: test - script: - - npm run lint -- --fix + stage: test + script: + - npm run lint -- --fix -build-frontend: - stage: build - script: - - npm run lint -- --fix - - npm run build - - mkdir -p dist/$CI_PROJECT_NAME - - cp -a appinfo css l10n lib templates js dist/$CI_PROJECT_NAME - artifacts: - paths: - - dist/ -include: - - project: 'e/infra/selfhost/nextcloud-apps/ci-templates' - ref: dev/template - file: 'auto-deploy-pipelines.yml' +build-frontend: + stage: build .deploy:nextcloud-app: - stage: deploy - dependencies: - - build-frontend - after_script: - - ssh $SSH_USER@$DEPLOYMENT_HOST "sudo rsync -avzh --chown www-data:www-data --delete /tmp/${CI_JOB_ID}/$CI_PROJECT_NAME ${DEPLOYMENT_PATH}/html/custom_apps/ && rm -rf /tmp/${CI_JOB_ID} && sudo docker exec -u www-data $CONTAINER_NAME /var/www/html/occ app:enable $CI_PROJECT_NAME" + stage: deploy + dependencies: + - build-frontend + after_script: + - ssh $SSH_USER@$DEPLOYMENT_HOST "sudo rsync -avzh --chown www-data:www-data --delete /tmp/${CI_JOB_ID}/$CI_PROJECT_NAME ${DEPLOYMENT_PATH}/html/custom_apps/ && rm -rf /tmp/${CI_JOB_ID} && sudo docker exec -u www-data $CONTAINER_NAME /var/www/html/occ app:enable $CI_PROJECT_NAME" -- GitLab From b2fe8bff1bf38f9bfdf0dd171244f2fb02ed6846 Mon Sep 17 00:00:00 2001 From: Fazle Rabbi Date: Wed, 25 May 2022 14:32:43 +0600 Subject: [PATCH 04/10] add checkout deployment --- .gitlab-ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1a9ced7..7685f49 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -29,8 +29,8 @@ install-node-deps: include: - project: "e/infra/ecloud/nextcloud-apps/ci-templates" - ref: dev/template - file: "nc-apps-build-frontend.yml" + ref: dev/nc-apps-checkout-deploy + file: "nc-apps-checkout-deploy.yml" - project: "e/infra/ecloud/nextcloud-apps/ci-templates" ref: dev/template file: "nc-apps-deploy.yml" @@ -47,7 +47,7 @@ lint: build-frontend: stage: build -.deploy:nextcloud-app: +.deploy:nextcloud-app-by-checkout: stage: deploy dependencies: - build-frontend -- GitLab From 6bd33bd00939b2719c1280112ede72eb5aff8aad Mon Sep 17 00:00:00 2001 From: Fazle Rabbi Date: Wed, 25 May 2022 14:34:50 +0600 Subject: [PATCH 05/10] revert removing build job --- .gitlab-ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7685f49..357be1c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -28,12 +28,12 @@ install-node-deps: - package*.json include: + - project: "e/infra/ecloud/nextcloud-apps/ci-templates" + ref: dev/template + file: "nc-apps-build-frontend.yml" - project: "e/infra/ecloud/nextcloud-apps/ci-templates" ref: dev/nc-apps-checkout-deploy file: "nc-apps-checkout-deploy.yml" - - project: "e/infra/ecloud/nextcloud-apps/ci-templates" - ref: dev/template - file: "nc-apps-deploy.yml" - project: "e/infra/ecloud/nextcloud-apps/ci-templates" ref: dev/template file: "nc-apps-lint.yml" @@ -47,7 +47,7 @@ lint: build-frontend: stage: build -.deploy:nextcloud-app-by-checkout: +.deploy:nextcloud-app: stage: deploy dependencies: - build-frontend -- GitLab From 2fecd139767546f699e0a27b3c9e4ed50052787f Mon Sep 17 00:00:00 2001 From: Fazle Rabbi Date: Wed, 25 May 2022 14:36:27 +0600 Subject: [PATCH 06/10] change deployment job name --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 357be1c..5abb4c4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -47,7 +47,7 @@ lint: build-frontend: stage: build -.deploy:nextcloud-app: +.deploy:nextcloud-app-by-checkout: stage: deploy dependencies: - build-frontend -- GitLab From 4f65eff3ec9a9808f81dc0bd6d0a6dc104d6d472 Mon Sep 17 00:00:00 2001 From: Fazle Rabbi Date: Thu, 26 May 2022 18:12:50 +0600 Subject: [PATCH 07/10] remove stage and default jobs --- .gitlab-ci.yml | 29 ----------------------------- 1 file changed, 29 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5abb4c4..1483873 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,32 +1,3 @@ -stages: - - prepare - - test - - build - - deploy - -default: - image: node:15.14.0-stretch - before_script: - - npm set cache .npm - - npm install --prefer-offline --no-audit - cache: - key: ${CI_COMMIT_REF_SLUG} - paths: - - .npm/ - - node_modules/ - -install-node-deps: - stage: prepare - before_script: - - node --version - - npm --version - script: - - npm set cache .npm - - npm ci - only: - changes: - - package*.json - include: - project: "e/infra/ecloud/nextcloud-apps/ci-templates" ref: dev/template -- GitLab From 652992f4d9d473dcf10721971cc98f25dd7f66b0 Mon Sep 17 00:00:00 2001 From: Fazle Rabbi Date: Thu, 26 May 2022 18:14:33 +0600 Subject: [PATCH 08/10] fix include ref and remove stage --- .gitlab-ci.yml | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1483873..a12ddce 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,26 +1,15 @@ include: - project: "e/infra/ecloud/nextcloud-apps/ci-templates" - ref: dev/template - file: "nc-apps-build-frontend.yml" + ref: main + file: "nc-apps-lint-build-frontend.yml" - project: "e/infra/ecloud/nextcloud-apps/ci-templates" - ref: dev/nc-apps-checkout-deploy + ref: main file: "nc-apps-checkout-deploy.yml" - - project: "e/infra/ecloud/nextcloud-apps/ci-templates" - ref: dev/template - file: "nc-apps-lint.yml" lint: - stage: test script: - npm run lint -- --fix - -build-frontend: - stage: build - .deploy:nextcloud-app-by-checkout: - stage: deploy - dependencies: - - build-frontend after_script: - ssh $SSH_USER@$DEPLOYMENT_HOST "sudo rsync -avzh --chown www-data:www-data --delete /tmp/${CI_JOB_ID}/$CI_PROJECT_NAME ${DEPLOYMENT_PATH}/html/custom_apps/ && rm -rf /tmp/${CI_JOB_ID} && sudo docker exec -u www-data $CONTAINER_NAME /var/www/html/occ app:enable $CI_PROJECT_NAME" -- GitLab From ea007090e85a6188f5aa82a77e989085d4e97b2e Mon Sep 17 00:00:00 2001 From: Fazle Rabbi Date: Thu, 26 May 2022 18:27:58 +0600 Subject: [PATCH 09/10] fix deploy template --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a12ddce..7de27dc 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -4,7 +4,7 @@ include: file: "nc-apps-lint-build-frontend.yml" - project: "e/infra/ecloud/nextcloud-apps/ci-templates" ref: main - file: "nc-apps-checkout-deploy.yml" + file: "nc-apps-deploy.yml" lint: script: -- GitLab From 97cd8e1f7568e6b66ae235ff28e478b7ffb98bec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arnau=20V=C3=A0zquez?= Date: Sat, 28 May 2022 21:25:23 +0000 Subject: [PATCH 10/10] No checkout needed --- .gitlab-ci.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7de27dc..c39c8e9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -5,11 +5,3 @@ include: - project: "e/infra/ecloud/nextcloud-apps/ci-templates" ref: main file: "nc-apps-deploy.yml" - -lint: - script: - - npm run lint -- --fix - -.deploy:nextcloud-app-by-checkout: - after_script: - - ssh $SSH_USER@$DEPLOYMENT_HOST "sudo rsync -avzh --chown www-data:www-data --delete /tmp/${CI_JOB_ID}/$CI_PROJECT_NAME ${DEPLOYMENT_PATH}/html/custom_apps/ && rm -rf /tmp/${CI_JOB_ID} && sudo docker exec -u www-data $CONTAINER_NAME /var/www/html/occ app:enable $CI_PROJECT_NAME" -- GitLab