Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
B
boco-frontend
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
idatt2106_2022_02
boco-frontend
Commits
693ecaba
Commit
693ecaba
authored
2 years ago
by
Erik Borgeteien Hansen
Browse files
Options
Downloads
Patches
Plain Diff
update cicd
parent
a68240ad
No related branches found
Branches containing commit
No related tags found
1 merge request
!31
Cicd
Pipeline
#176571
failed
2 years ago
Stage: .pre
Stage: build
Stage: test
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
.gitlab-ci.yml
+97
-43
97 additions, 43 deletions
.gitlab-ci.yml
with
97 additions
and
43 deletions
.gitlab-ci.yml
+
97
−
43
View file @
693ecaba
# 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_modul
es
/
#
-
t
es
t
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
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment