Skip to content
Snippets Groups Projects
.gitlab-ci.yml 1.21 KiB
Newer Older
image: kwarc/jekyll-website-deployer
stages:
  - deploy
Michael Kohlhase's avatar
Michael Kohlhase committed

before_script:
  # setup locales
  - echo "en_US UTF-8" > /etc/locale.gen
  - which locale-gen || ( apt-get update -y && apt-get install locales )
  - export LANG=en_US.UTF-8
  - export LANGUAGE=en_US:en
  - export LC_ALL=en_US.UTF-8
  # install ssh-agent, unless already there
  - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'

  # install rsync, unless already there
  - 'which rsync || ( apt-get update -y && apt-get install rsync -y )'
  # install bundler, unless already there
  - 'which bundle || ( gem install bundler )'
  # and install the bundle
  - bundle install

  # setup ssh agent with the private key
  - eval $(ssh-agent -s)
  - ssh-add <(echo "$SSH_PRIVATE_KEY")
  - mkdir -p ~/.ssh
  - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'

Michael Kohlhase's avatar
Michael Kohlhase committed
  stage: deploy
  script:
    # build the website
    - bundle exec jekyll build -d _site
    # copy over all the files into the deployment folder
Tom Wiesing's avatar
Tom Wiesing committed
    - cd _site && rsync -rv -e "ssh -p $SSH_DEPLOY_PORT" --checksum --exclude='Gemfile' --delete-excluded --delete ./ root@deploy.kwarc.info:/root/data --delete
Michael Kohlhase's avatar
Michael Kohlhase committed
  only:
Tom Wiesing's avatar
Tom Wiesing committed
    - master