ci: polish publishing via ci pipelines

This commit is contained in:
Rainer Killinger
2023-08-03 13:52:19 +00:00
parent cbc59795b7
commit 69fe8c6ac8
8 changed files with 39 additions and 27 deletions

View File

@@ -1,6 +1,6 @@
.limit_publishing:
- if: $CI_PIPELINE_SOURCE != "schedule"
when: on_success
.limit_publish_pipelines:
rules:
- if: '($CI_COMMIT_BRANCH == "main" || $CI_COMMIT_BRANCH == "develop") && $CI_COMMIT_MESSAGE =~ /ci: publish release/ && $CI_PIPELINE_SOURCE != "schedule"'
deploy:
stage: publish
@@ -12,7 +12,8 @@ deploy:
paths:
- ./.deploy
- ./frontend/app/www
rules: !reference [.limit_publishing]
rules:
- !reference [.limit_publish_pipelines, rules]
publish image:
stage: publish
@@ -23,14 +24,15 @@ publish image:
image:
name: gcr.io/kaniko-project/executor:v1.12.1-debug
entrypoint: [""]
variables:
PUBLISH_TAG: next
script:
- >
/kaniko/executor
--context "${CI_PROJECT_DIR}/${DEPLOY_DIR}"
--dockerfile "${CI_PROJECT_DIR}/${DEPLOY_DIR}/Dockerfile"
--destination "${CI_REGISTRY_IMAGE}/${IMAGE_NAME}:$(grep -o '"version": "[^"]*' "${DEPLOY_DIR}/package.json" | cut -d'"' -f4)"
--destination "${CI_REGISTRY_IMAGE}/${IMAGE_NAME}:latest"
rules: !reference [.limit_publishing]
--destination "${CI_REGISTRY_IMAGE}/${IMAGE_NAME}:${PUBLISH_TAG}"
parallel:
matrix:
- IMAGE_NAME: database
@@ -47,6 +49,11 @@ publish image:
DEPLOY_DIR: .deploy/minimal-plugin
- IMAGE_NAME: app
DEPLOY_DIR: frontend/app
rules:
- if: $CI_COMMIT_BRANCH == 'main'
variables:
PUBLISH_TAG: latest
- !reference [.limit_publish_pipelines, rules]
publish packages:
stage: publish
@@ -54,18 +61,17 @@ publish packages:
variables:
GIT_STRATEGY: clone
GIT_DEPTH: 0
PUBLISH_TAG: next
script:
- pnpm install
- pnpm build
- pnpm publish -r --publish-branch ${PUBLISH_BRANCH} --tag ${PUBLISH_TAG} --no-git-checks # TODO: Git checks...
- pnpm config set '//registry.npmjs.org/:_authToken' "${NPM_AUTH_TOKEN}"
- pnpm publish -r --publish-branch ${CI_COMMIT_BRANCH} --tag ${PUBLISH_TAG} --no-git-checks # TODO: Git checks...
rules:
- if: $CI_COMMIT_BRANCH == 'main'
variables:
PUBLISH_BRANCH: main
PUBLISH_TAG: latest
- variables:
PUBLISH_BRANCH: $CI_COMMIT_BRANCH
PUBLISH_TAG: next
- !reference [.limit_publish_pipelines, rules]
publish docs:
stage: publish
@@ -77,3 +83,6 @@ publish docs:
artifacts:
paths:
- public
rules:
- if: $CI_COMMIT_BRANCH == 'main'
- !reference [.limit_publish_pipelines, rules]