diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml old mode 100755 new mode 100644 index daeb1d5631309a3cf58723453bba86c013865392..c39c8e9944954f2cede5c61ad25c55adf1e5f6ba --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,115 +1,7 @@ -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 - -lint: - 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/ - -.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} - - 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 +include: + - project: "e/infra/ecloud/nextcloud-apps/ci-templates" + ref: main + file: "nc-apps-lint-build-frontend.yml" + - project: "e/infra/ecloud/nextcloud-apps/ci-templates" + ref: main + file: "nc-apps-deploy.yml"