cotech-website/.gitlab-ci.yml
2022-11-06 19:48:53 +00:00

73 lines
1.3 KiB
YAML

---
image: ruby:2.6.6
stages:
- test
- staging
- production
variables:
JEKYLL_ENV: production
LC_ALL: C.UTF-8
cache:
key: gems
paths:
- vendor
before_script:
- 'which rsync || ( apt-get update -qq && apt-get install rsync -yqq )'
- eval $(ssh-agent -s)
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- ssh-keyscan web.cotech.uk > ~/.ssh/known_hosts
- ssh-keyscan 81.95.52.59 > ~/.ssh/known_hosts
- chmod 644 ~/.ssh/known_hosts
- bundle install --path vendor
test:
stage: test
script:
- bundle exec jekyll build -d test
artifacts:
paths:
- test
except:
- master
deploy:dev:
stage: staging
script:
- bundle exec jekyll build -d public
- rsync -aqz --delete-after public/ cotech@web.cotech.uk:sites/dev/
artifacts:
paths:
- public
environment:
name: dev
url: https://dev.coops.tech
only:
- master
- servermigration
deploy:production:
stage: production
script:
- bundle exec jekyll build -d public
- rsync -aqz --delete-after public/ cotech@web.cotech.uk:sites/default/
artifacts:
paths:
- public
environment:
name: production
url: https://www.coops.tech
only:
- master
- servermigration
when: manual
after_script:
- rm -rf /root/.ssh/
...