.gitlab-ci.yml 1.18 KB
Newer Older
GitLab's avatar
GitLab committed
1
2
3
4
5
6
7
8
9
10
# requiring the environment of NodeJS 10
image: node:10

# add 'node_modules' to cache for speeding up builds
cache:
  paths:
    - node_modules/ # Node modules and dependencies

before_script:
  - npm install gitbook-cli -g # install gitbook
Sabina Köfler's avatar
Add pdf    
Sabina Köfler committed
11
  - npm install calibre # for exporting as pdf
GitLab's avatar
GitLab committed
12
13
14
15
16
17
18
19
20
21
  - gitbook fetch 3.2.3 # fetch final stable version
  - gitbook install # add any requested plugins in book.json

test:
  stage: test
  script:
    - gitbook build . public # build to public path
  only:
    - branches # this job will affect every branch except 'master'
  except:
Sabina Köfler's avatar
Sabina Köfler committed
22
    - main
Sabina Köfler's avatar
Add pdf    
Sabina Köfler committed
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38


pdf:
  stage: build
  before_script:
    - mkdir ebooks
  script:
    - gitbook install # add any requested plugins in book.json
    - gitbook pdf . ebooks/${CI_PROJECT_NAME}.pdf # pdf build
  artifacts:
    paths:
      - ebooks/${CI_PROJECT_NAME}.pdf
    expire_in: 1 day
  only:
    - main # this job will affect only the 'master' branch

GitLab's avatar
GitLab committed
39
40
41
42
43
44
45
46
47
48
# the 'pages' job will deploy and build your site to the 'public' path
pages:
  stage: deploy
  script:
    - gitbook build . public # build to public path
  artifacts:
    paths:
      - public
    expire_in: 1 week
  only:
Sabina Köfler's avatar
Sabina Köfler committed
49
    - main # this job will affect only the 'main' branch