Skip to content
Snippets Groups Projects
Commit 693ecaba authored by Erik Borgeteien Hansen's avatar Erik Borgeteien Hansen
Browse files

update cicd

parent a68240ad
No related branches found
No related tags found
1 merge request!31Cicd
Pipeline #176571 failed
# This file is a template, and might need editing before it works on your project. # # This file is a template, and might need editing before it works on your project.
# To contribute improvements to CI/CD templates, please follow the Development guide at: # # To contribute improvements to CI/CD templates, please follow the Development guide at:
# https://docs.gitlab.com/ee/development/cicd/templates.html # # https://docs.gitlab.com/ee/development/cicd/templates.html
# This specific template is located at: # # This specific template is located at:
# https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Getting-Started.gitlab-ci.yml # # 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.
# 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
- test
image: node:16 # # This is a sample GitLab CI/CD configuration file that should run without any modifications.
# # 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
cache: # stages: # List of stages for jobs, and their order of execution
paths: # - build
- node_modules/ # - test
install_dependencies_job: # This job runs in the build stage, which runs first. # image: node:16
stage: build
# cache:
# paths:
# - node_modules/
# install_dependencies_job: # This job runs in the build stage, which runs first.
# stage: build
# script:
# - echo "Installing dependencies..."
# - npm install
# - echo "Dependencies installed."
# artifacts:
# paths:
# - node_modules/
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:
# - echo "Linting the code..."
# - npm run lint
# - echo "Code-linting complete."
# artifacts:
# paths:
# - node_modules/
lint-test-job: # This job also runs in the test stage. # unit-test-job: # This job runs in the test stage.
stage: test # It can run at the same time as unit-test-job (in parallel). # stage: test # It only starts when the job in the build stage completes successfully.
# script:
# - echo "Running unit tests..."
# - npm run test:unit -- --coverage
# - echo "Unit tests complete."
# artifacts:
# paths:
# - node_modules/
stages:
- build
- test
# - deploy
install:
image: node:16-alpine # alpine/slim is a smaller image
stage: .pre # always first, no matter if it is listed in stages
cache:
key: NPM_DOWNLOAD_CACHE # a single-key-4-all-branches for install jobs
paths:
- .npm/
before_script:
- cp .env.gitlab-testing .env
script: script:
- echo "Linting the code..." # define cache dir & use it npm!
- npm run lint - npm ci --cache .npm --prefer-offline
- echo "Code-linting complete."
artifacts: artifacts:
paths: paths:
- node_modules/ - node_modules/
- .env
unit-test-job: # This job runs in the test stage. build:
stage: test # It only starts when the job in the build stage completes successfully. stage: build
needs:
- job: install
artifacts: true # true by default, grabs `node_modules`
script: script:
- echo "Running unit tests..." - npm run build
- npm run test:unit -- --coverage
- echo "Unit tests complete."
artifacts: artifacts:
paths: paths:
- node_modules/ - dist/ # whereever your build results are stored
test:
stage: test
needs:
- job: install
artifacts: true # grabs node_modules
- job: build
artifacts: true # grabs built files
script:
- npm test
# deploy:
# stage: deploy
# needs:
# # does not need node_modules so don't state install as a need
# - job: build
# artifacts: true # grabs dist/
# - job: test # must succeed
# artifacts: false # not needed
# script:
# - npm publish
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment