64 lines
1.4 KiB
YAML
64 lines
1.4 KiB
YAML
stages:
|
|
- "Install Dependencies"
|
|
- "Lint Code"
|
|
- "Build Docker Image"
|
|
- "Publish Docker Image"
|
|
|
|
"Install node_modules":
|
|
image: node:16
|
|
stage: "Install Dependencies"
|
|
script:
|
|
- yarn --frozen-lockfile
|
|
artifacts:
|
|
paths:
|
|
- node_modules/
|
|
|
|
"Lint JS":
|
|
image: node:16
|
|
stage: "Lint Code"
|
|
dependencies:
|
|
- "Install node_modules"
|
|
script:
|
|
- yarn lint --no-fix
|
|
|
|
"Build docker image":
|
|
image: docker:stable
|
|
stage: "Build Docker Image"
|
|
tags:
|
|
- docker
|
|
- hawkeye
|
|
dependencies:
|
|
- "Install node_modules"
|
|
- "Lint JS"
|
|
script:
|
|
# Add make support
|
|
- 'apk add --no-cache make'
|
|
# Build the image
|
|
- 'make build-container DOCKER_REPOSITORY=$REGISTRY_BASE_URL/$DOCKER_IMAGE_NAME DOCKER_TAG=$CI_COMMIT_SHA'
|
|
rules:
|
|
- if: '$REGISTRY_BASE_URL == ""'
|
|
when: never
|
|
- if: '$DOCKER_IMAGE_NAME == ""'
|
|
when: never
|
|
|
|
"Publish Docker Image":
|
|
image: docker:stable
|
|
stage: "Publish Docker Image"
|
|
tags:
|
|
- docker
|
|
- hawkeye
|
|
dependencies:
|
|
- "Build docker image"
|
|
script:
|
|
# Log in to the registry
|
|
- 'docker login -u=$REGISTRY_USER -p=$REGISTRY_PASSWORD $REGISTRY_BASE_URL'
|
|
# Push the registry images
|
|
- 'docker image push $REGISTRY_BASE_URL/$DOCKER_IMAGE_NAME:$CI_COMMIT_SHA'
|
|
# Clean local image
|
|
- 'docker image rm $REGISTRY_BASE_URL/$DOCKER_IMAGE_NAME:$CI_COMMIT_SHA'
|
|
rules:
|
|
- if: '$REGISTRY_BASE_URL == ""'
|
|
when: never
|
|
- if: '$DOCKER_IMAGE_NAME == ""'
|
|
when: never
|