.gitlab-ci.yml 1.23 KB
Newer Older
Davide Depau's avatar
Davide Depau committed
1 2
image: jekyll/builder

Davide Depau's avatar
Davide Depau committed
3 4 5
stages:
  - deploy

Davide Depau's avatar
Davide Depau committed
6 7 8
variables:
  JEKYLL_ENV: production
  LC_ALL: C.UTF-8
9
  GIT_SUBMODULE_STRATEGY: recursive
Davide Depau's avatar
Davide Depau committed
10

Davide Depau's avatar
Davide Depau committed
11
# Build is in `before_script` because it's the same for both deployments
12
before_script:
Davide Depau's avatar
Davide Depau committed
13
  - mv usr-local-bundle /usr/local/bundle || true   # Move extracted cache to its original place
14 15 16
  - apk add npm
  - npm install
  - bundle install
Davide Depau's avatar
Davide Depau committed
17
  - ./scripts/ci_fix_baseurl.sh
Davide Depau's avatar
Davide Depau committed
18
  - jekyll build -d public
Davide Depau's avatar
Davide Depau committed
19
  - ./scripts/purgecss.sh public
Davide Depau's avatar
Davide Depau committed
20
  - ./scripts/minifycssjs.sh public
Davide Depau's avatar
Davide Depau committed
21
  - mv /usr/local/bundle usr-local-bundle || true   # Move cache to workdir so that GitLab will pick it up
22

Davide Depau's avatar
Davide Depau committed
23
deploy-prod:
24 25
  stage: deploy
  script:
Davide Depau's avatar
Davide Depau committed
26
  - apk add rsync
27 28
  - mkdir -p "$HOME/.ssh"
  - echo "$SSH_KNOWN_HOSTS" > "$HOME/.ssh/known_hosts"
29 30
  - chmod 700 "$HOME/.ssh/known_hosts"
  - chmod 700 "$SSH_DEPLOY_KEY"
Davide Depau's avatar
Davide Depau committed
31
  - rsync -e "ssh -i $SSH_DEPLOY_KEY" --delete-after -rlptP public/ "$SSH_DEPLOY_USER@$SSH_DEPLOY_HOST:/www.poul.org/"
Davide Depau's avatar
Davide Depau committed
32
  cache:
Davide Depau's avatar
Davide Depau committed
33
    key: build-deps
Davide Depau's avatar
Davide Depau committed
34
    paths:
35
      - "usr-local-bundle/"
Davide Depau's avatar
Davide Depau committed
36
      - "node_modules/"
37 38 39 40 41
  only:
  - master

pages:
  stage: deploy
Davide Depau's avatar
Davide Depau committed
42
  script:
Davide Depau's avatar
Davide Depau committed
43
    - echo "Already built."
Davide Depau's avatar
Davide Depau committed
44 45 46
  artifacts:
    paths:
    - public
Davide Depau's avatar
Davide Depau committed
47
  cache:
Davide Depau's avatar
Davide Depau committed
48
    key: build-deps
Davide Depau's avatar
Davide Depau committed
49
    paths:
50
      - "usr-local-bundle/"
Davide Depau's avatar
Davide Depau committed
51
      - "node_modules/"
Davide Depau's avatar
Davide Depau committed
52
  only:
53
  - develop