feat: docker publishing

This commit is contained in:
2023-06-27 12:06:08 +02:00
parent c4260dc882
commit 129f25d1f0
18 changed files with 210 additions and 378 deletions

View File

@@ -1,10 +1,22 @@
image: registry.gitlab.com/openstapps/projectmanagement/builder:v18
include: '/backend/backend/.gitlab-ci.yml'
#variables:
# GIT_CLEAN_FLAGS: -ffdx -e www/
# `rules: if $CI_PIPELINE_SOURCE == 'merge_request_event'` seems to convert the whole
# workflow into a merge request pipeline, effectively removing all the jobs.
# To work around that, add:
# ```
# rules:
# when: on_success
# ```
# To your pipeline.
# https://docs.gitlab.com/ee/ci/pipelines/merge_request_pipelines.html#use-rules-to-add-jobs
include:
- local: /backend/backend/.gitlab-ci.yml
- local: /frontend/app/.gitlab-ci.yml
- local: /.gitlab/publishing.gitlab-ci.yml
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
when: never
default:
image: registry.gitlab.com/openstapps/projectmanagement/builder:v18
tags:
- performance
interruptible: true
@@ -22,10 +34,11 @@ default:
policy: pull
stages:
- version
- build
- images
- test
- deploy
- review
- publish
build:
stage: build
@@ -38,28 +51,15 @@ build:
artifacts:
paths:
- www
- ./**/.turbo/
- ./backend/backend/lib
- ./backend/proxy/lib
- ./configuration/projectmanagement/lib
- ./examples/minimal-connector/lib
- ./examples/minimal-plugin/lib
- ./packages/api-cli/lib
- ./packages/api-plugin/lib
- ./packages/api/lib
- ./packages/collection-utils/lib
- ./packages/core-tools/lib
- ./packages/core/lib
- ./packages/easy-ast/lib
- ./packages/es-mapping-generator/lib
- ./packages/gitlab-api/lib
- ./packages/logger/lib
cache:
<<: *pnpm_cache
policy: pull-push
rules:
- when: on_success
unit:
stage: test
needs: ['build']
script:
- pnpm config set recursive-install false
- pnpm i --prefer-offline
@@ -77,71 +77,5 @@ unit:
coverage_report:
coverage_format: cobertura
path: coverage.xml
image:database:
stage: images
image:
name: gcr.io/kaniko-project/executor:v1.9.0-debug
entrypoint: [""]
before_script: []
cache: []
script:
- /kaniko/executor
--context "${CI_PROJECT_DIR}/backend/database"
--dockerfile "${CI_PROJECT_DIR}/backend/database/Dockerfile"
--destination "${CI_REGISTRY_IMAGE}/database:${CI_COMMIT_BRANCH}"
only:
refs:
- branches
changes:
- backend/database/**/*
# TODO!!
# integration:
# stage: test
# variables:
# DOCKER_DRIVER: overlay2
# services:
# - docker:dind
# script:
# - pnpm install
# - pnpm run test:integration
# tags:
# - gitlab-org-docker
review:
stage: deploy
dependencies:
- build
script:
# TODO: - .gitlab/ci/enableGitlabReviewToolbar.sh www/index.html "$CI_PROJECT_ID" "$CI_OPEN_MERGE_REQUESTS"
- cp www/index.html www/200.html
- pnpm dlx surge -p ./www -d https://$CI_PROJECT_PATH_SLUG-$CI_ENVIRONMENT_SLUG.surge.sh/
environment:
name: review/$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_NAME
url: https://$CI_PROJECT_PATH_SLUG-$CI_ENVIRONMENT_SLUG.surge.sh/
on_stop: stop_review
rules:
- if: ($CI_COMMIT_REF_NAME != "develop" && $CI_COMMIT_REF_NAME != "main" && $CI_MERGE_REQUEST_EVENT_TYPE != "merge_train" && ($CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "web"))
stop_review:
stage: deploy
script:
- pnpm dlx surge teardown $CI_PROJECT_PATH_SLUG-$CI_ENVIRONMENT_SLUG.surge.sh
when: manual
environment:
name: review/$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_NAME
action: stop
rules:
- if: ($CI_COMMIT_REF_NAME != "develop" && $CI_COMMIT_REF_NAME != "main" && $CI_MERGE_REQUEST_EVENT_TYPE != "merge_train" && ($CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "web"))
# TODO!!
# pages:docs:
# stage: deploy
# script:
# - pnpm install
# - pnpm run docs
# - mv docs public
# artifacts:
# paths:
# - public
- when: on_success