configure CI job to publish preview site to GitLab Pages
authorDan Allen <dan@opendevise.com>
Tue, 28 Nov 2017 02:26:53 +0000 (19:26 -0700)
committerDan Allen <dan@opendevise.com>
Tue, 28 Nov 2017 02:52:47 +0000 (19:52 -0700)
- change output folder for preview site to public (requirement of GitLab Pages)
- add the public folder to .gitignore file
- add job to CI build that publishes preview site from master branch
- add link to preview site to the README

.gitignore
.gitlab-ci.yml
README.adoc
gulpfile.js

index 34b23da..57834a1 100644 (file)
@@ -1,2 +1,3 @@
 /build/
 /node_modules/
+/public/
index a78f2f8..7fdb96b 100644 (file)
@@ -2,15 +2,16 @@ image: node:8
 stages:
 - setup
 - verify
+- deploy
 yarn:
   stage: setup
-  script:
-  - npm install -g yarn
-  - yarn --cache-folder=.yarn-cache
   cache:
     paths:
     - node_modules/
     - .yarn-cache/
+  script:
+  - npm install -g yarn
+  - yarn --cache-folder=.yarn-cache
 lint:
   stage: verify
   cache:
@@ -18,3 +19,15 @@ lint:
     paths:
     - node_modules/
   script: node_modules/.bin/gulp lint
+pages:
+  stage: deploy
+  only:
+  - master
+  cache:
+    policy: pull
+    paths:
+    - node_modules/
+  script: node_modules/.bin/gulp build:preview
+  artifacts:
+    paths:
+    - public
index 3672aac..783e45b 100644 (file)
@@ -1,6 +1,7 @@
 = Antora Default UI
 // Project URIs:
 :uri-project: https://gitlab.com/antora/antora-ui-default
+:uri-preview: https://antora.gitlab.io/antora-ui-default
 :uri-ci-pipelines: {uri-project}/pipelines
 :img-ci-status: {uri-project}/badges/master/pipeline.svg
 
@@ -8,6 +9,8 @@ image:{img-ci-status}[CI Status (GitLab CI), link={uri-ci-pipelines}]
 
 This project is an archetype that demonstrates how to produce a UI bundle for use in an Antora-based documentation pipeline.
 
+You can preview the default UI at {uri-preview}.
+
 == Copyright and License
 
 Copyright (C) 2017 OpenDevise Inc. and the Antora Project.
index 18dbbad..8f1635f 100644 (file)
@@ -14,7 +14,7 @@ const preview = require('./tasks/preview')
 const bundleName = 'ui'
 const buildDir = 'build'
 const previewSiteSrcDir = 'preview-site-src'
-const previewSiteDestDir = path.join(buildDir, 'preview-site')
+const previewSiteDestDir = 'public'
 const srcDir = 'src'
 const destDir = path.join(previewSiteDestDir, '_')