cic-staff-client/.gitlab-ci.yml

135 lines
3.3 KiB
YAML
Raw Normal View History

2020-11-25 09:49:35 +01:00
stages:
2020-11-25 15:58:36 +01:00
- build
2021-04-10 21:35:50 +02:00
# - test
# - package
2020-12-28 12:31:42 +01:00
2021-04-10 21:35:50 +02:00
image:
name: gcr.io/kaniko-project/executor:debug
entrypoint: [""]
2020-11-25 09:49:35 +01:00
2020-11-25 11:26:00 +01:00
variables:
2021-04-10 21:35:50 +02:00
KANIKO_CACHE_ARGS: "--cache=true --cache-copy-layers=true --cache-ttl=24h"
2020-11-25 11:26:00 +01:00
2021-04-10 21:35:50 +02:00
ng_build_merge_request:
stage: build
variables:
2020-11-25 09:34:04 +01:00
script:
2021-04-10 21:35:50 +02:00
- mkdir -p /kaniko/.docker
- echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > "/kaniko/.docker/config.json"
- /kaniko/executor --context . $KANIKO_CACHE_ARGS --cache-repo $CI_REGISTRY_IMAGE --no-push
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
when: always
2020-11-25 11:26:00 +01:00
2021-04-10 21:35:50 +02:00
ng_build:
2020-11-25 16:01:42 +01:00
stage: build
2021-04-10 21:35:50 +02:00
variables:
IMAGE_TAG_BASE: $CI_REGISTRY_IMAGE:$CI_COMMIT_BRANCH-$CI_COMMIT_SHORT_SHA
LATEST_TAG: $CI_REGISTRY_IMAGE:latest
2020-11-25 16:01:42 +01:00
script:
2021-04-10 21:35:50 +02:00
- export IMAGE_TAG="$IMAGE_TAG_BASE-$(date +%F.%H%M%S)"
- mkdir -p /kaniko/.docker
- echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > "/kaniko/.docker/config.json"
2021-04-11 18:03:55 +02:00
- /kaniko/executor --context . $KANIKO_CACHE_ARGS --destination $IMAGE_TAG --destination $CI_REGISTRY_IMAGE:latest
2021-04-10 21:35:50 +02:00
rules:
- if: $CI_COMMIT_BRANCH == "master"
when: always
2020-12-28 12:23:16 +01:00
2021-04-10 21:35:50 +02:00
# cache:
# key:
# files:
# - package-lock.json
# paths:
# - node_modules/
# policy: pull
2020-11-25 16:01:42 +01:00
2021-04-10 21:35:50 +02:00
# image: node:alpine
2020-12-28 16:43:36 +01:00
2021-04-10 21:35:50 +02:00
# variables:
# PROJECT_PATH: "$CI_PROJECT_DIR"
# APP_OUTPUT_PATH: "$CI_PROJECT_DIR/dist/cic-staff-client"
# OUTPUT_PATH: "$CI_PROJECT_DIR/dist"
# CLI_VERSION: 10.2.0
# install_dependencies:
# stage: install
# tags:
# - docker
# script:
# - npm install -g @angular/cli@$CLI_VERSION
# - npm install
# only:
# refs:
# - merge_requests
# - master
# changes:
# - package-lock.json
# build:
# stage: build
# tags:
# - docker
# script:
# - npm ng build --prod
# after_script:
# - mv $PROJECT_PATH/nginx.conf $PROJECT_PATH/default.conf
# - cp $PROJECT_PATH/default.conf $APP_OUTPUT_PATH
# - cp $PROJECT_PATH/Dockerfile $APP_OUTPUT_PATH
# artifacts:
# name: "cic-staff-client-pipeline"
# expire_in: 1 days
# paths:
# - $APP_OUTPUT_PATH
# test:karma:
# stage: test
# allow_failure: false
# tags:
# - docker
# before_script:
# - apk add chromium
# - export CHROME_BIN=/usr/bin/chromium-browser
# script:
# - npm ng test --code-coverage --progress false --watch false --browsers=GitlabChromeHeadless
# coverage: '/Statements\s+:\s\d+.\d+%/'
# artifacts:
# name: "tests-and-coverage"
# reports:
# junit:
# - $OUTPUT_PATH/tests/junit-test-results.xml
# cobertura:
# - $OUTPUT_PATH/coverage/cobetura-coverage.xml
# paths:
# - coverage/
# test:e2e:
# stage: test
# allow_failure: false
# tags:
# - docker
# script:
# - npm ng e2e
# test:nglint:
# stage: test
# tags:
# - docker
# script:
# - npm ng lint
# docker-build:
# stage: package
# image: docker:latest
# services:
# - docker:dind
# variables:
# IMAGE_TAG: "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA"
# before_script:
# - docker login -u $CI_DEPLOY_USER -p $CI_DEPLOY_PASSWORD $CI_REGISTRY
# script:
# - docker build -t $IMAGE_TAG -f Dockerfile .
# - docker push $IMAGE_TAG
# only:
# - master