在GitLab CI/CD中使用environment对部署环境进行管理

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: 在GitLab CI/CD中使用environment对部署环境进行管理关键词environment的详细解释

背景

每一个应用都在研发阶段都会有几套环境,开发环境,集成环境,测试环境,生成环境。对于不同的环境,CI/CD的处理方式可能有所不同。在GitLab CI/CD中,如果开发者想要快速查询某一个部署环境的部署历史,可以在流水线列表中,使用分支名称,触发用户,tag名称,以及流水线状态来进行搜索,如下图:
在这里插入图片描述
但如果开发者想要查询某一个部署环境的部署历史,在这种情况下,流水线的搜索是无法满足需要的。即使开发团队规定 特定分支部署特定环境。

environment关键词

解决部署环境管理的问题需要使用GitLab CI/CD关键词environment。使用它,开发者可以将一个作业设置为某一环境的部署作业,同一个环境的部署作业会被收集到一起,运行部署作业,或者停止作业都将触发一个钩子。开发者可以自定义执行相关业务逻辑。下图是一个部署环境的管理页面( 本文环境为GitLab 14.1)

在这里插入图片描述
开发者可以通过UI页面自行创建 部署环境,也可以在一个作业中定义environment的值,

通过UI创建部署环境

在这里插入图片描述
点击上图的 New environment
在这里插入图片描述
填写环境名称,以及环境的访问路径。保存。

通过作业部署环境

deploy_test_env:
  script: echo 'deploy test env'
  environment:
    name: test
    url: https://fizzz.blog.csdn.net/

环境名称只能包含字母,数字,空格以及这些字符 -, _, /, $, {, }
同一个环境的作业会被归纳到同一个环境中,通过UI页面,点击环境名称即可查看该环境下已经部署的作业,如下:
在这里插入图片描述

URL的作用

定义了 环境URL,开发者可以点击页面一个按钮来快捷地访问到部署环境。
下面是三处可以访问的按钮

第一处,environment列表
在这里插入图片描述
第二处 environment 详情
在这里插入图片描述
第三处 合并请求时
在这里插入图片描述
environment关键词除了name和url两个配置项外,还有on_stopauto_stop_inactionkubernetesdeployment_tier
下面通过作者的实践结合官方文档,简单介绍一下各个配置项的作用

其他配置项

on_stop是用于定义一个在移除环境时触发的作业,它的值必须是一个同流水线,同环境的作业名称。表明在通过UI移除部署环境或者自动移除部署环境时 运行配置的作业。

auto_stop_in 配置项用于到期自动移除部署环境,如一天后,一周后

action配置项是用于定义当期作业是部署环境的动作,有三个值,start 默认值),preparestop
start 表明当期作业是创建一个部署环境
prepare 准备部署环境
stop 停止部署环境 on_stop选择的作业必须配置 action: stop

下面是一个例子大家可以参考一下

# 部署test环境,停止环境时运行clean_test_env作业
deploy_test_env:
  script: echo 'deploy test env'
  environment:
    name: test
    url: https://fizzz.blog.csdn.net/
    on_stop: clean_test_env

# 部署dev环境,一周后自动停止
deploy_dev_env:
  script: echo 'deploy test env'
  environment:
    name: test
    url: https://fizzz.blog.csdn.net/
    auto_stop_in: 1 week
   
# 停止test环境,停止环境的脚本需自行编写
clean_test_env:
  script: echo 'stop deploy and clean test env'
  when: manual
  environment:
    name: test
    action: stop

kubernetes 可以设置部署的Kubernetes集群命名空间,前提是当前项目已集成Kubernetes。

deployment_tier 用于设置的部署等级,没有太多意义。只是用于区分。常用等级有这些 production,staging,testing,development,other

后记

使用关键词environment可以帮助开发者快速管理部署环境,跟踪问题,极大地提高了开发体验。大家一点要学会哦。

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
26天前
|
JavaScript Java 应用服务中间件
用白薅来的gitlab自带的gitlab-runner部署一个vue项目
用白薅来的gitlab自带的gitlab-runner部署一个vue项目
25 2
|
3天前
|
运维 Serverless 开发工具
函数计算产品使用问题之通过GitLab仓库来部署代码,该如何配置GitLab仓库
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
25天前
|
Docker 容器
docker 部署gitlab
docker 部署gitlab
13 0
|
1月前
无缝构建与部署:GitLab CI/CD首秀的实战攻略
无缝构建与部署:GitLab CI/CD首秀的实战攻略
103 0
无缝构建与部署:GitLab CI/CD首秀的实战攻略
|
1月前
|
Docker 容器
GitLab Runner注册大揭秘:高效CI/CD的入门指南
GitLab Runner注册大揭秘:高效CI/CD的入门指南
60 0
GitLab Runner注册大揭秘:高效CI/CD的入门指南
|
1月前
|
Linux 应用服务中间件 网络安全
linux安装Gitlab
linux安装Gitlab
115 0
|
1月前
|
缓存 数据安全/隐私保护 Docker
安装gitlab
安装gitlab
220 0
|
1月前
|
存储 网络安全 数据安全/隐私保护
docker 安装gitlab,配置邮件,备份全流程
docker 安装gitlab,配置邮件,备份全流程
174 0
|
2天前
|
持续交付 开发工具 git
阿里云云效产品使用问题之在云效代码域中gitlab使用docker安装的,迁移时遇到“获取企业信息失败”,是什么原因
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
3天前
|
数据安全/隐私保护
宝塔安装gitlab
宝塔安装gitlab
12 0