Skip to content
Snippets Groups Projects
Commit 65cb6a01 authored by Clayton, Brandon Scott's avatar Clayton, Brandon Scott
Browse files

Update pipeline

parent 0fc1d902
No related branches found
No related tags found
1 merge request!12Resolves - Pipeline Templates
variables: variables:
GITLAB_TOKEN: '${CI_JOB_TOKEN}' GITLAB_TOKEN: '${CI_JOB_TOKEN}'
NODE_IMAGE_NAME: ${CODE_REGISTRY_IMAGE}/${CI_PROJECT_NAME}:${CI_COMMIT_REF_SLUG} NODE_IMAGE_NAME: ${CODE_REGISTRY_IMAGE}/${CI_PROJECT_NAME}:${CI_COMMIT_REF_SLUG}--node
include:
- project: 'ghsc/hazdev/pipeline-build-template'
ref: '1.1.3'
file: 'templates/library.yml'
stages: stages:
- init
- node-image - node-image
- test - build
- publish - publish
# Do not run for merge requests
workflow:
rules:
- if: $CI_COMMIT_TAG
- if: $CI_COMMIT_BRANCH
####
# Template: GitLab runner tags
####
.dev-tags:
tags:
- development
#### ####
# Template: Run Node # Stage: init
#### ####
.node: Init:
image: ${NODE_IMAGE_NAME} artifacts:
extends: paths:
- .tags::development - node_modules
before_script: image: ${DEVOPS_REGISTRY}usgs/node:16
script:
- npm ci - npm ci
stage: init
#### ####
# Stage: Node Image # Stage: Node Image
#### ####
Build Node Image: Build Node Image:
extends: image: ${DEVOPS_REGISTRY}docker:19.03-git
- .dind needs: []
- .tags::build
script: script:
- | - |
docker build \ docker build \
--build-arg FROM_IMAGE=${DEVOPS_REGISTRY}usgs/node:latest \ --build-arg FROM_IMAGE=${DEVOPS_REGISTRY}usgs/node:16 \
--file "Dockerfile" \ --file ".gitlab/Dockerfile" \
--pull \ --pull \
--tag ${NODE_IMAGE_NAME} \ --tag ${NODE_IMAGE_NAME} \
. .
- docker push ${NODE_IMAGE_NAME} - docker push ${NODE_IMAGE_NAME}
services:
- alias: docker
name: ${DEVOPS_REGISTRY}docker:19.03-dind
stage: node-image stage: node-image
tags:
- build
variables:
DOCKER_DRIVER: overlay2
#### ####
# Stage: test # Stage: Build
#### ####
Build Angular: .node:
image: ${DEVOPS_REGISTRY}usgs/node:16
needs: needs:
- Build Node Image - Init
stage: test stage: build
extends: .node tags:
- development
Build:
extends:
- .node
script: script:
- cd example
- npm i
- npm run build - npm run build
Lint: Lint Project:
needs: extends:
- Build Node Image - .node
stage: test
extends: .node
script: script:
- npm run tslint - npm run lint
#### ####
# Stage: publish # Stage: Publish
#### ####
Publish npm: Publish npm:
needs:
- Build Node Image
stage: publish
image: ${NODE_IMAGE_NAME} image: ${NODE_IMAGE_NAME}
extends: .dev-tags
only: only:
- tags@ghsc/nshmp/disagg-d3 - tags
before_script: script:
- echo '//code.usgs.gov/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}' >> .npmrc
- npm ci
- git config user.email "${GITLAB_USER_EMAIL}" - git config user.email "${GITLAB_USER_EMAIL}"
- git config user.name "${GITLAB_USER_NAME}" - git config user.name "${GITLAB_USER_NAME}"
script: - npm run build
- |
cat <<-EO_CONFIG > .npmrc
@${CI_PROJECT_ROOT_NAMESPACE}:registry=https://${CI_SERVER_HOST}/api/v4/projects/${CI_PROJECT_ID}/packages/npm/
//${CI_SERVER_HOST}/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}
EO_CONFIG
- npx standard-version --release-as ${CI_COMMIT_TAG} --skip.commit --skip.changelog - npx standard-version --release-as ${CI_COMMIT_TAG} --skip.commit --skip.changelog
- npm publish --access public - npm publish --access public
stage: publish
tags:
- development
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