ci: add real CI configuration

This commit is contained in:
Rainer Killinger
2021-09-07 12:58:42 +02:00
parent 377435f3eb
commit fb96a4e8be
3 changed files with 51 additions and 10 deletions

View File

@@ -1,13 +1,21 @@
image: registry.gitlab.com/openstapps/projectmanagement/node
stages:
- test
- build
- audit
- publish
- deploy
cache:
key: ${CI_COMMIT_REF_SLUG}
paths:
- node_modules
before_script:
- npm ci
npm build:
stage: build
script:
- npm run build
artifacts:
paths:
- lib
audit:
allow_failure: true
@@ -15,14 +23,38 @@ audit:
- schedules
script:
- npm audit
stage: test
stage: audit
scheduled-audit:
only:
- schedules
script:
- npm audit
stage: test
- 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
pages:
artifacts:

6
Dockerfile Normal file
View File

@@ -0,0 +1,6 @@
FROM registry.gitlab.com/openstapps/projectmanagement/node
WORKDIR /app
ENTRYPOINT ["node", "lib/cli.js"]
ADD . /app

View File

@@ -4,7 +4,10 @@
"description": "Minimal Plugin",
"license": "GPL-3.0-only",
"author": "Wieland Schöbl",
"contributors": [],
"contributors": [
"Jovan Krunić <jovan.krunic@gmail.com>",
"Rainer Killinger <mail-openstapps@killinger.co>"
],
"scripts": {
"build": "npm run tslint && npm run compile",
"compile": "rimraf lib && tsc && prepend lib/cli.js '#!/usr/bin/env node\n'",
@@ -12,7 +15,7 @@
"check-configuration": "openstapps-configuration",
"documentation": "typedoc --includeVersion --out docs src",
"start": "node lib/cli.js",
"tslint": "tslint 'src/**/*.ts'",
"tslint": "tslint -p tsconfig.json -c tslint.json 'src/**/*.ts'",
"prepublishOnly": "npm ci && npm run build",
"postversion": "npm run changelog",
"preversion": "npm run prepublishOnly",