Gitlab使用CI/CD自动编译.Net项目

Gitlab作为目前最常用,最完善的用于仓库管理系统的开源项目,很早就在家里的NAS自建了。但是基础功能使用久了,不免对其中五花八门的其他功能感到好奇,尤其是每次弹出的CI/CD功能。最近手头项目不多,正好有时间来尝试一下。

什么是CI/CD

查看Gitlab项目设置界面中CI/CD子页面,可以看到另一个更接地气的描述:流水线,在查询官网的wiki后发现这其实就是在我们每次提交代码后,以类似于流水线的方式执行一系列的脚本操作,来实现自动编译,自动测试,自动部署等功能。如果你使用过Apple Homekit,那很容易就会联想到其中“自动化”功能。但是与之相对应的,我们这些流水线启动需要一个”开关“,而在Gitlab中,这个”开关“就来自于每次推送代码。简单地说,CI/CD就是每次推送代码时,执行一系列的脚本操作,来实现自动编译,自动测试,自动部署等功能的服务

CI/CD怎么实现的

首先,作为一个上位机软件工程师,我很识趣的知道,搭建Gitlab的Linux系统是无论如何无法编译可以运行在windows上的可执行文件的,但是CI/CD提供了一个看起来很取巧的方式:Linux没法实现的环境,那我找一个windows来执行就行了。实际上Gitlab将这类子系统统称为Runner,Gitlab将编译任务分发到Runner,Runner执行完后将产物上传回Gitlab。Runner可以是全平台的,于是CI/CD便可以编译所有平台的代码,甚至可以通过连接多个不同平台的Runner,来实现一些跨平台代码的同时编译。

另一个问题是Gitlab怎么知道项目怎么去编译,怎么去测试,怎么去部署,需要在流水线中插入执行特殊操作的时候怎么告知Gitlab的呢,答案是使用CI/CD 配置文件,默认文件名是.gitlab-ci.yml。当项目启动CI/CD功能的时候,每次提交代码,便会在根目录找CI/CD 配置文件,然后根据CI/CD配置文件的内容,执行响应操作。

具体操作

首先,我们要在项目中创建Runner,切换到项目设置页面,找到CI/CD子页面中Runner设置

在新建Runner的页面需要设置Runner的预设平台,对于不同的平台,Gitlab将会在下一步中提供不同的Runner注册方式,并创建用于区分不同任务的Tag,Tag用于匹配项目提交时所提交的Tag,Gitlab将会匹配对应Tag的Runner来执行操作,此次教程我们先将运行无Tag的提交选项给勾着,这样所有的提交都可以使用这个Runner

点击创建Runner后,会弹出对应系统的注册过程,在另一台作为Runner的机器上跟着流程一步步操作即可

在成功注册Runner后,便可以在Runner页面查看到在线的Runner,点击Runner名称可以看到Runner对应信息

此时需要配置流水线配置文件,对应语法可以参考

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇