vue-cli-plugin-gitlab-pages
v0.1.2
Published
Vue-cli plugin to generate full CI pipeline for Gitlab Pages.
Downloads
167
Maintainers
Readme
vue-cli-plugin-gitlab-pages
Gitlab CI plugin for vue-cli
This plugin generates a Gitlab CI config (gitlab-ci.yml) that will enable build, linting, unit testing and automatic deployment to Gitlab Pages.
Configuration Options
Upon installation the plugin will prompt for several options.
ciBranch
This is the remote branch the pipeline will watch for changes. Commits to this branch will trigger the pipeline.
Defaults to
master
NOTE: This mean changes to this branch will be deploy publicly.
nodeVersion
The version of the node image to use for building on the CI pipeline.
Defaults to
latest
enableLinting
This enables the linting CI stage. Also adds a
ci:lint
service that will fail the pipeline on linter warnings.Requires a service
lint
Defaults to
true
enableUnitTesting
This enables the unit testing CI stage.
Requires a service
test:unit
Defaults to
true
writeVueConfig
By default Gitlab Pages will deploy to
https://<username>.gitlab.io/<project_name>
. For the Vue app to work in this default config, the production publicPath of the vue app must be set to/<project_name>
.This option will write a vue.config.js file, that sets the publicPath for production builds to
/<project_name>
using the name found in thepackage.json
.Defaults to
false
to avoid breakingvue.config.js
Modifying the publicPath can be done manually in a variety of ways (package.json, vue.config.js, .env.*, etc) and is independent of the Gitlab CI configuration and can be set in any of those ways.
Installing in an Already Created Project
vue add gitlab-pages
Troubleshooting
If the pipeline succeeds but the pages url displays a blank page with errors such as:
Refused to apply style ... because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled.
Check that the publicPath matches the deployment path.
Unit Test Error
TypeError: Cannot assign to read only property 'Symbol(Symbol.toStringTag)' of object '#<process>'
This is a bug in
node:latest
and certain versions of Jest. Node image11.10.1
should work.See: https://github.com/facebook/create-react-app/issues/6591