Browse Source

Adding production build and deployment jobs

master
Drew Short 5 years ago
parent
commit
41bba68a99
  1. 37
      .gitlab-ci.yml

37
.gitlab-ci.yml

@ -0,0 +1,37 @@
stages:
- build
- deploy
build-website:
image: sothr.com/hugo:0.4.0
stage: build
script:
- hugo --theme pure --destination /output --baseURL https://sothr.com
- TARGET=$PWD
- tar -czvf website.tgz -C /output/ .
only:
- master
tags:
- linux
artifacts:
paths:
- website.tgz
deploy-website:
image: sothr.com/deploy:ubuntu
stage: deploy
variables:
TARGET_DIRECTORY: "/srv/www/sothr.com"
script:
- eval `ssh-agent -s`
- ssh-add <(echo "$SSH_DEPLOY_KEY")
- mkdir -p ~/.ssh
- ssh-keyscan -p $DEPLOY_PORT sothr.com >> ~/.ssh/known_hosts
- mkdir /tmp/deploy
- tar -xvf website.tgz -C /tmp/deploy
- rsync -avz --delete-delay -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p $DEPLOY_PORT" --progress /tmp/deploy/* $DEPLOY_USER@$DEPLOY_HOST:$TARGET_DIRECTORY
only:
- master
tags:
- docker
environment: production