Files
openstapps/examples/minimal-plugin/.gitlab-ci.yml

71 lines
1.4 KiB
YAML

image: registry.gitlab.com/openstapps/projectmanagement/node
stages:
- build
- audit
- publish
- deploy
before_script:
- npm ci
npm build:
stage: build
script:
- npm run build
artifacts:
paths:
- lib
audit:
allow_failure: true
except:
- schedules
script:
- npm audit
stage: audit
scheduled-audit:
only:
- schedules
script:
- npm audit --audit-level=high
stage: audit
docker image:
image: registry.gitlab.com/openstapps/projectmanagement/builder:latest
dependencies:
- npm build
stage: publish
variables:
DOCKER_DRIVER: overlay2
services:
- docker:dind
script:
- export CORE_VERSION=$(openstapps-projectmanagement get-used-version @openstapps/core)
- export VERSION=$(echo -n "$CI_BUILD_REF_NAME" | cut -c 2-)
- export IMAGETAG_BASE=$CI_REGISTRY_IMAGE
- export IMAGETAG_CORE_VERSION=$IMAGETAG_BASE:core-$CORE_VERSION
- export IMAGETAG_VERSION=$IMAGETAG_BASE:$VERSION
- export IMAGETAG_LATEST=$IMAGETAG_BASE:latest
- docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN $CI_REGISTRY
- docker build -t $IMAGETAG_LATEST -t $IMAGETAG_VERSION -t $IMAGETAG_CORE_VERSION .
- docker push $IMAGETAG_BASE
only:
- /^v[0-9]+\.[0-9]+\.[0-9]+$/
except:
- branches
tags:
- docker
pages:
artifacts:
paths:
- public
only:
- /^v[0-9]+\.[0-9]+\.[0-9]+$/
script:
- npm run documentation
- mv docs public
stage: deploy