Skip to content
Snippets Groups Projects
.gitlab-ci.yml 1.76 KiB
variables:
  GITLAB_TOKEN: '${CI_JOB_TOKEN}'
  NODE_IMAGE_NAME: ${CODE_REGISTRY_IMAGE}/${CI_PROJECT_NAME}:${CI_COMMIT_REF_SLUG}--node

stages:
  - init
  - node-image
  - build
  - publish

####
# Stage: init
####

Init:
  artifacts:
    paths:
      - node_modules
  image: ${DEVOPS_REGISTRY}usgs/node:16
  script:
    - npm ci
  stage: init

####
# Stage: Node Image
####

Build Node Image:
  image: ${DEVOPS_REGISTRY}docker:19.03-git
  needs: []
  script:
    - |
      docker build \
        --build-arg FROM_IMAGE=${DEVOPS_REGISTRY}usgs/node:16 \
        --file "Dockerfile" \
        --pull \
        --tag ${NODE_IMAGE_NAME} \
        .
    - docker push ${NODE_IMAGE_NAME}
  services:
    - alias: docker
      name: ${DEVOPS_REGISTRY}docker:19.03-dind
  stage: node-image
  tags:
    - build
  variables:
    DOCKER_DRIVER: overlay2

####
# Stage: Build
####

.node:
  image: ${DEVOPS_REGISTRY}usgs/node:16
  needs:
    - Init
  stage: build
  tags:
    - development

Build Angular:
  extends:
    - .node
  script:
    - cd example
    - npm i
    - npm run build

Lint Project:
  extends: