image: node:alpine # Use latest version of Node.js on Alpine cache: # add cache to 'node_modules' for speeding up builds paths: - node_modules/ # Node modules and dependencies variables: NODE_ENV: "production" ## Rename to 'pages' for gitlab pages test: stage: test before_script: - apk update && apk add openssh-client git rsync - mkdir -p ~/.ssh - chmod 700 ~/.ssh - echo "$SSH_KNOWN_HOSTS" > ~/.ssh/known_hosts - chmod 644 ~/.ssh/known_hosts - echo "$SSH_KEY_1" > ~/.ssh/id_host_1 - chmod 600 ~/.ssh/id_host_1 - echo "$SSH_KEY_2" > ~/.ssh/id_host_2 - chmod 600 ~/.ssh/id_host_2 - echo "$SSH_KEY_3" > ~/.ssh/id_host_3 - chmod 600 ~/.ssh/id_host_3 - echo "$SSH_CONFIG" > ~/.ssh/config - chmod 600 ~/.ssh/config - npm install script: - npm install snyk && npm run snyk # Refer to "scripts" in package.json - npm run build # Generate site after_script: - rsync -azvh --delete public/ host-1:/var/www/ - rsync -azvh --delete public/ host-2:/var/www/ - rsync -azvh --delete --dry-run public/ host-3:/var/www/ rules: # Only trigger through push & "Run pipeline" events in master branch; Skip in renovate job - if: '$RENOVATE != "true" && $CI_COMMIT_REF_NAME == "master" && ($CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "web")' when: always ## Uncomment below to enable gitlab pages # artifacts: # paths: # - public # deploy from the 'public' folder. deploy: # Trigger deploy job on curben/curben.gitlab.io stage: deploy trigger: project: curben/curben.gitlab.io branch: master strategy: depend rules: - if: '$RENOVATE != "true" && $CI_COMMIT_REF_NAME == "master" && ($CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "web")' when: always renovate: # Check dependency update before_script: - apk update && apk add git - npm install script: - npm install renovate - npm run renovate rules: - if: '$RENOVATE == "true" && $CI_COMMIT_REF_NAME == "master" && ($CI_PIPELINE_SOURCE == "schedule" || $CI_PIPELINE_SOURCE == "web")' when: always