社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

.NET DevOps 接入指南 | 4. GitLab 流水线简介

dotNET跨平台 • 11 月前 • 261 次点击  

引言

GitLab CI/CD作为GitLab的核心功能之一,其提供了便捷的配置手段,以便进行持续集成和部署。接下来就来具体了解下GitLab CI/CD的核心概念,并以具体的Asp.Net Core Web项目为例,进行流水线配置,实现持续集成和持续部署。

CI/CD 核心概念

通过CI/CD可以对代码进行持续构建、测试和部署,提高从开发到部署的工作效率。CI/CD作为软件工程从持续方法论,其核心是持续集成、持续交付和持续部署。其中CI,对应Continuous Interartion(持续集成),是指通过对推送至仓库的每次更改进行自动构建和测试,及时捕获错误发现问题。CD,对应Continuous Delivery(持续交付)或Continuous Deployment(持续部署)。其中持续交付是在持续集成的基础上,也就是不仅会自动构建和测试应用,还可手动触发部署流程,进行应用部署。而持续部署相较于持续交付的差异在于部署是自动触发的。

GitLab CI/CD 工作流

GitLab CI/CD 正是对CI/CD方法论的实现,借助GitLab CI/CD,可以一站式完成应用的测试、构建和发布,实现持续集成、交付和部署。GitLab CI/CD 提供了通用的工作流,如下图所示,其中包含了GitLab流程中的主要步骤。

image.png
  1. 通过GitLab集成的敏捷工作流进行工作计划,比如创建里程碑、创建议题

  2. 对于要解决的问题,创建新分支到本地修复

  3. 修复完毕后,提交更改,触发持续集成,进行自动的构建和测试

  4. 通过持续交付,手动触发部署流程,将应用部署到预览环境

  5. 预览审核通过后,合并分支到主分支,触发持续部署,再次进行自动构建、测试,然后自动部署到生产环境。

在GitLab中是通过Pipeline(流水线)来配置项目的CI/CD流程,可以通过在项目根目录创建.gitlab-ci.yml文件进行配置。一个流水线包含:Jobs(工作)和Stages(阶段)。其中Jobs用来定义做什么,通过另外一个组件Runner来运行;Stages用来定义何时运行Jobs,也就是Jobs的运行顺序,如果一个Stage的所有Jobs运行成功,则自动运行至下一Stage,如果任意一个Job失败,下个Stage通常不会运行,管道会提前结束。



Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/166374
 
261 次点击