Skip to content
Snippets Groups Projects

Cicd

Merged Erik Borgeteien Hansen requested to merge cicd into main
1 file
+ 40
44
Compare changes
  • Side-by-side
  • Inline
+ 40
44
# This file is a template, and might need editing before it works on your project.
image: node:lts
# To contribute improvements to CI/CD templates, please follow the Development guide at:
# https://docs.gitlab.com/ee/development/cicd/templates.html
# This specific template is located at:
# https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Getting-Started.gitlab-ci.yml
# This is a sample GitLab CI/CD configuration file that should run without any modifications.
stages:
# It demonstrates a basic 3 stage CI/CD pipeline. Instead of real tests or scripts,
# it uses echo commands to simulate the pipeline execution.
#
# A pipeline is composed of independent jobs that run scripts, grouped into stages.
# Stages run in sequential order, but jobs within stages run in parallel.
#
# For more information, see: https://docs.gitlab.com/ee/ci/yaml/index.html#stages
stages: # List of stages for jobs, and their order of execution
- build
- build
- test
- test
 
# - deploy
image: node:16
# These folders are cached between builds
# http://docs.gitlab.com/ce/ci/yaml/README.html#cache
cache:
cache:
 
key: ${CI_COMMIT_REF_SLUG}
paths:
paths:
 
# Default cache directory from https://classic.yarnpkg.com/en/docs/install-ci/#gitlab.
- node_modules/
- node_modules/
 
# Enables git-lab CI caching. Both .cache and public must be cached, otherwise builds will fail.
 
- .cache/
 
- public/
install_dependencies_job: # This job runs in the build stage, which runs first.
npm:install:
stage: build
stage: build
script:
- echo "Installing dependencies..."
- npm install
- echo "Dependencies installed."
artifacts:
paths:
- node_modules/
lint-test-job: # This job also runs in the test stage.
stage: test # It can run at the same time as unit-test-job (in parallel).
script:
script:
- echo "Linting the code..."
- npm ci
- npm run lint
- echo "Code-linting complete."
artifacts:
paths:
- node_modules/
unit-test-job: # This job runs in the test stage.
test:unit:
stage: test # It only starts when the job in the build stage completes successfully.
stage: test
 
needs: ["npm:install"]
script:
script:
- echo "Running unit tests..."
- npm ci
- npm run test:unit -- --coverage
- npm run test:unit
- echo "Unit tests complete."
artifacts:
#test:coverage:
paths:
# stage: test
- node_modules/
# needs: ["npm:install"]
 
# script:
 
# - ./node_modules/.bin/gatsby info
 
# rules:
 
# - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
 
# - if: $CI_MERGE_REQUEST_ID
 
 
#pages:
 
# stage: deploy
 
# needs:
 
# - npm:install
 
# - test:unit
 
# - test:gatsby
 
# script:
 
# - ./node_modules/.bin/gatsby build --prefix-paths
 
# artifacts:
 
# paths:
 
# - public
 
# rules:
 
# - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
Loading