.gitlab-ci.yml 1.04 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
10
  BUNDLE_USER_HOME: ./bundle
Davide Depau's avatar
Davide Depau committed
11

Davide Depau's avatar
Davide Depau committed
12
# Build is in `before_script` because it's the same for both deployments
13
before_script:
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
21

Davide Depau's avatar
Davide Depau committed
22
deploy-prod:
23 24
  stage: deploy
  script:
Davide Depau's avatar
Davide Depau committed
25
  - apk add rsync
26 27
  - mkdir -p "$HOME/.ssh"
  - echo "$SSH_KNOWN_HOSTS" > "$HOME/.ssh/known_hosts"
28 29
  - chmod 700 "$HOME/.ssh/known_hosts"
  - chmod 700 "$SSH_DEPLOY_KEY"
Davide Depau's avatar
Davide Depau committed
30
  - 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
31
  cache:
Davide Depau's avatar
Davide Depau committed
32
    key: build-deps
Davide Depau's avatar
Davide Depau committed
33
    paths:
34
      - "bundle/"
Davide Depau's avatar
Davide Depau committed
35
      - "node_modules/"
36 37 38 39 40
  only:
  - master

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