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

try something new

parent 693ecaba
No related branches found
No related tags found
1 merge request!31Cicd
Pipeline #176596 failed
# # This file is a template, and might need editing before it works on your project. image: node:16-alpine
# # 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.
# # 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
# 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/
# 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/
# unit-test-job: # This job runs in the test stage.
# 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: stages:
- build - build
- test - test
# - deploy - deploy
install: install_dependencies:
image: node:16-alpine # alpine/slim is a smaller image stage: build
stage: .pre # always first, no matter if it is listed in stages cache:
cache: key: $CI_COMMIT_REF_SLUG-$CI_PROJECT_DIR
key: NPM_DOWNLOAD_CACHE # a single-key-4-all-branches for install jobs
paths: paths:
- .npm/ - node_modules/
before_script:
- cp .env.gitlab-testing .env
script: script:
# define cache dir & use it npm! - npm ci
- npm ci --cache .npm --prefer-offline only:
artifacts: changes:
paths: - package-lock.json
- node_modules/
- .env
build: build:
stage: build stage: build
needs: cache:
- job: install key: $CI_COMMIT_REF_SLUG-$CI_PROJECT_DIR
artifacts: true # true by default, grabs `node_modules` paths:
- node_modules/
policy: pull
script: script:
- npm run build - npm run build
artifacts: artifacts:
paths: paths:
- dist/ # whereever your build results are stored - build
test: run_tests:
stage: test stage: test
needs: needs:
- job: install - install_dependencies
artifacts: true # grabs node_modules script: npm run test:unit
- job: build \ No newline at end of file
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