Skip to content
Snippets Groups Projects
.gitlab-ci.yml 1.91 KiB
Newer Older
include:
  - template: Security/Dependency-Scanning.gitlab-ci.yml  
  - template: Security/SAST.gitlab-ci.yml
  - project: eclipse/xfsc/dev-ops/ci-templates
    file: maven-standard-ci.yaml
    ref: main
    
  - build
  - deploy
  
variables:
  DS_JAVA_VERSION: 21
  UI_SPECIFIC_IMAGE_NAME: ${HARBOR_HOST}/${HARBOR_PROJECT}/${CI_PROJECT_NAME}-ui:latest
  UI_TAG_IMAGE_NAME: ${HARBOR_HOST}/${HARBOR_PROJECT}/${CI_PROJECT_NAME}-ui:${CI_COMMIT_TAG}

Denis Sukhoroslov's avatar
Denis Sukhoroslov committed
maven:jib:
Denis Sukhoroslov's avatar
Denis Sukhoroslov committed
  script:
    - 'mvn $MAVEN_CLI_OPTS package jib:build'
Denis Sukhoroslov's avatar
Denis Sukhoroslov committed
  only:
    - master
    - tags

runPreBuildForUI:
  image: node:18
  stage: prebuild
  script:
    - cd ui
    - npm ci --cache .npm --prefer-offline
    - npm run build
  artifacts:
    paths:
      - ui/dist/

runLicenseCheckForUI:
  image: node:18
  stage: prebuild
  script:
    - cd ui
    - npm ci --cache .npm --prefer-offline
    - npm run license:scan
  artifacts:
    paths:
      - ui/THIRD-PARTY.txt

runBuildForUI:
  stage: build
  image:
    name: gcr.io/kaniko-project/executor:v1.9.0-debug
    entrypoint: [""]
  script:
    - mkdir -p /kaniko/.docker
    - echo "{\"auths\":{\"${HARBOR_HOST}\":{\"auth\":\"$(echo -n ${HARBOR_USERNAME}:${HARBOR_PASSWORD} | base64)\"}}}" > /kaniko/.docker/config.json
    - /kaniko/executor --context "${CI_PROJECT_DIR}/ui" --dockerfile "${CI_PROJECT_DIR}/ui/Dockerfile" --cache=true --cache-ttl=24h --destination "${UI_SPECIFIC_IMAGE_NAME}"
  only: 
    - master

runReleaseBuildForUI:
  stage: build
  image:
    name: gcr.io/kaniko-project/executor:v1.9.0-debug
    entrypoint: [""]
  script:
    - mkdir -p /kaniko/.docker
    - echo "{\"auths\":{\"${HARBOR_HOST}\":{\"auth\":\"$(echo -n ${HARBOR_USERNAME}:${HARBOR_PASSWORD} | base64)\"}}}" > /kaniko/.docker/config.json
    - /kaniko/executor --context "${CI_PROJECT_DIR}/ui" --dockerfile "${CI_PROJECT_DIR}/ui/Dockerfile" --cache=true --cache-ttl=24h --destination "${UI_TAG_IMAGE_NAME}"
  only:
    - tags