stages: - build - deploy build-website: image: sothr.com/hugo:0.54.0 stage: build variables: HUGO_THEME: "pure" HUGO_BASEURL: "https://sothr.com/" script: - export HUGO_SOURCE="$PWD" - /run.sh --minify - tar -czvf website.tgz -C /output/ . only: - master - develop tags: - docker artifacts: paths: - website.tgz expire_in: 1 week 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 dependencies: - build-website tags: - docker environment: production