diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index fe98809a..a479ffa5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,17 +3,17 @@ stages: - build - deploy - # Cache modules in between jobs cache: key: ${CI_COMMIT_REF_SLUG} paths: - - node_modules/ + - node_modules/ pylint: stage: analysis image: python:3.7 allow_failure: false + retry: 3 before_script: - curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python @@ -34,6 +34,7 @@ black: stage: analysis image: python:3.7 allow_failure: true + retry: 3 before_script: - curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python @@ -80,31 +81,30 @@ build: - tags - web - # Deploy to builds.openflexure.org deploy: stage: deploy dependencies: - build image: ubuntu:latest - + before_script: - - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' + - "which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )" - eval $(ssh-agent -s) - ssh-add <(echo "$SSH_PRIVATE_KEY_BATH_OPENFLEXURE_BASE64" | base64 --decode) - mkdir -p ~/.ssh - echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config - + script: # Install rsync if not already installed - - 'which rsync || ( apt-get update -y && apt-get install rsync -y )' - - # Upload the builds folder to openflexure-microscope builds + - "which rsync || ( apt-get update -y && apt-get install rsync -y )" + + # Upload the builds folder to openflexure-microscope builds - rsync -hrvz -e ssh dist/ ci-user@openflexure.bath.ac.uk:/var/www/build/openflexure-microscope-server - + # Run update-latest.py on the build server - ssh -t ci-user@openflexure.bath.ac.uk "/var/www/build/update-latest.py" - + only: - tags - web