Skip to content
代码片段 群组 项目
提交 b332f115 编辑于 作者: Mayra Cabrera's avatar Mayra Cabrera
浏览文件

Merge branch 'ggillies/add-deploys-release-environments' into 'master'

Trigger deploys to release-environments on stable branches

See merge request https://gitlab.com/gitlab-org/gitlab/-/merge_requests/117212



Merged-by: default avatarMayra Cabrera <mcabrera@gitlab.com>
Approved-by: default avatarJennifer Li <jli@gitlab.com>
Approved-by: default avatarMayra Cabrera <mcabrera@gitlab.com>
Co-authored-by: default avatarGraeme Gillies <ggillies@gitlab.com>
No related branches found
No related tags found
无相关合并请求
......@@ -4,6 +4,7 @@ default:
stages:
- prepare
- deploy
include:
- local: .gitlab/ci/global.gitlab-ci.yml
......@@ -56,7 +57,38 @@ release-environments-build-cng:
GITLAB_SHELL_VERSION: "${GITLAB_SHELL_VERSION}"
GITALY_SERVER_VERSION: "${GITALY_SERVER_VERSION}"
RUBY_VERSION: "${FULL_RUBY_VERSION}"
IMAGE_TAG_EXT: "-${CI_COMMIT_SHORT_SHA}"
trigger:
project: gitlab-org/build/CNG-mirror
branch: $TRIGGER_BRANCH
strategy: depend
release-environments-deploy-env:
allow_failure: true
stage: deploy
needs: ["release-environments-build-cng"]
variables:
DEPLOY_ENV: deploy.env
script:
- ./scripts/construct-release-environments-versions.rb > $DEPLOY_ENV
artifacts:
reports:
dotenv: $DEPLOY_ENV
paths:
- $DEPLOY_ENV
expire_in: 7 days
when: always
release-environments-deploy:
allow_failure: true
stage: deploy
needs: ["release-environments-deploy-env"]
inherit:
variables: false
variables:
VERSIONS: "${VERSIONS}"
ENVIRONMENT: "${ENVIRONMENT}"
trigger:
project: gl-infra/release-environments
branch: main
strategy: depend
#!/usr/bin/env ruby
# frozen_string_literal: true
require 'json'
class ReleaseEnvironmentsModel
COMPONENTS = %w[gitaly registry kas mailroom pages gitlab shell].freeze
# Will generate a json object that has a key for every component and a value which is the environment combined with
# short sha
# Example:
# {
# "gitaly": "15-10-stable-c7c5131c",
# "registry": "15-10-stable-c7c5131c",
# "kas": "15-10-stable-c7c5131c",
# "mailroom": "15-10-stable-c7c5131c",
# "pages": "15-10-stable-c7c5131c",
# "gitlab": "15-10-stable-c7c5131c",
# "shell": "15-10-stable-c7c5131c"
# }
def generate_json(environment)
output_json = {}
COMPONENTS.each do |component|
output_json[component.to_s] = "#{environment}-#{ENV['CI_COMMIT_SHORT_SHA']}"
end
JSON.generate(output_json)
end
end
# Outputs in `dotenv` format the ENVIRONMENT and VERSIONS to pass to release environments e.g.
# ENVIRONMENT=15-10-stable
# VERSIONS={"gitaly":"15-10-stable-c7c5131c","registry":"15-10-stable-c7c5131c","kas":"15-10-stable-c7c5131c", ...
if $PROGRAM_NAME == __FILE__
environment = ENV['CI_COMMIT_REF_SLUG'].sub("-ee", "")
puts "ENVIRONMENT=#{environment}"
puts "VERSIONS=#{ReleaseEnvironmentsModel.new.generate_json(environment)}"
end
0% 加载中 .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册