Deploy to GitLab Pages - nogic1008/nuxt-ts-template GitHub Wiki
Deploy to GitLab Pages
If you want to clone this template into GitLab, GitLab Pages is a Continuous Deployment solution.
It uses a same URL as GitHub Pages, like https://username.gitlab.io/project-slug
, so it is easy.
Prerequisites
- Create GitLab account
- Clone Project
Setup GitLab CI/CD
Create .gitlab-ci.yml
like below.
image: 'node:lts-alpine'
cache:
key:
files:
- package-lock.json
prefix: npm
paths:
- .cache/
policy: pull
before_script:
- npm config set cache $CI_PROJECT_DIR/.cache/npm --global
- npm ci
build:
stage: build
only:
- master
- merge_requests
except:
changes:
- '*.md'
cache:
key:
files:
- package-lock.json
prefix: npm
paths:
- .cache/
script: BASE_PATH=/$CI_PROJECT_NAME/ npm run generate
lint:
only:
- master
- merge_requests
except:
changes:
- '*.md'
script: npm run lint
test:
only:
- master
- merge_requests
except:
changes:
- '*.md'
script: npm test
pages:
stage: deploy
only:
- master
except:
changes:
- '*.md'
script:
- BASE_PATH=/$CI_PROJECT_NAME/ npm run generate
- mv dist public
artifacts:
paths:
- public
Point of View
- Move and cache global
.npm
folder to usenpm ci
- Set
BASE_PATH
before build command - Move
/dist
folder to/public
folder for GitLab Pages
Remove GitHub Actions workflow (optional)
Remove /.github
and /.dependabot
folder.