打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
GitLab CI持续集成配置方案

目录


1. 持续集成介绍

1.1 概念

1.2 持续集成的好处

2. GitLab持续集成(CI)

2.1 简介

2.2 GitLab简单原理图

2.3 GitLab持续集成所需环境

2.4 需要了解知识

3. 搭建GitLab持续集成环境(NET版)

3.1 环境搭建

3.1.1 基础环境搭建

3.1.2 Git安装

3.1.3 NuGet安装

3.2 相关配置

3.2.1 Git环境变量配置

3.2.2 PowerShell调用测试

3.2.3 GitLab-Runner下载

3.3 GitLab查看项目的Runners

3.4 构建GitLab-Runner服务

3.4.1 介绍

3.4.2 下载软件(没下载的请下载)

3.4.3 注册信息

3.4.4 开启gitlab-runner服务

3.4.5 修改协议config.toml文件(重要)

3.5 构建.gitlab-ci.yml脚本

3.6 完成配置

4. 常见问题解决

4.1 GitLab出现Pending卡住

4.2 GitLab CI乱码问题

4.3 明明错误,但Build成功

4.4 .gitlab-ci.yml脚本错误


1. 持续集成介绍


1.1 概念

持续集成是一种软件开发实践,即团队开发成员经常集成它们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。

1.2 持续集成的好处

1)快速发现错误。每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易。

2)防止分支大幅偏离主干。如果不是经常集成,主干又在不断更新,会导致以后集成的难度变大,甚至难以集成。

2. GitLab持续集成(CI)


2.1 简介

在GitLab 8.0+提供了持续集成的功能,在GitLab中有个Runners的概念。

Runner一共有三种类型

1) 本地Runner

2) 普通的服务器上的Runner

3) 基于Docker的Runner

2.2 GitLab简单原理图

 

本文只介绍GitLab对NET进行持续集成

2.3 GitLab持续集成所需环境

开发环境:VS2015、Git

GitLab服务器环境:GitLab 8.0+

Runner-CI服务器:window、Git、Msbuild、Nuget、PowerShell、GitLab-Runner

2.4 需要了解知识

Git操作、GitLab、Msbuild&Nuget命令行、Powershell命令行

3. 搭建GitLab持续集成环境(NET版)


3.1 环境搭建

3.1.1 基础环境搭建

找一台电脑(服务器最好)系统安装为window 7(x64,改成英文版最好),并且机子安装了.net framework4.0运行环境(里面要有MsBuild)

3.1.2 Git安装

安装Git,下载地址 https://git-scm.com/download/win

3.1.3 NuGet安装

安装NuGet.exe,下载地址:http://nuget.codeplex.com/downloads/get/669083

3.2 相关配置

3.2.1 Git环境变量配置

计算机右键—>属性里单击选择—>环境变量

Git 目录下的 bin(如 C:\Program Files (x86)\Git\bin)添加到 PATH 环境变量。

如下图:选择 PATH编辑,将 bin 的路径(C:\Program Files (x86)\Git\bin)添加到变量值

详细配置参考方法(二选一即可)

【手动配置环境变量】

http://jingyan.baidu.com/article/fec4bce271601ff2618d8be3.html

【Git安装自动配置环境变量】

http://jingyan.baidu.com/article/9f7e7ec0b17cac6f2815548d.html

3.2.2 PowerShell调用测试

PowerShell是调用方式(GitLab提供很多种方式),本文只针对PowerShell方式进行演示。PowerShell可以理解为就是cmd的升级版。

打开PowerShell,测试Git、MsBuild、NuGet命令行能否在PowerShell中使用(如果不想测试,请继续往下看)。

举例:

测试Git

3.2.3 GitLab-Runner下载

首先,下载gitlab-ci-multi-runner-windows-amd64,并将其放到C:\CI

下载地址:

https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-ci-multi-runner-windows-amd64.exe

3.3 GitLab查看项目的Runners

点击一个项目->Settings->Runners, 得到Url地址①registration token

3.4 构建GitLab-Runner服务

3.4.1 介绍

基础环境已经搭建完成,如何将这台计算机真正变成一台Runner-CI服务器,我们需要详细介绍一下。

3.4.2 下载软件(没下载的请下载)

首先,下载gitlab-ci-multi-runner-windows-amd64,并将其放到 D:\CI_Test

下载地址:

https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-ci-multi-runner-windows-amd64.exe

3.4.3 注册信息

运行cmd命令(以管理员身份打开cmd)

输入命令为:

cd cd cigitlab-ci-multi-runner-windows-amd64.exe register

根据提示,填写

1) GitLab->Runners的Url地址①

2) GitLab->Runners的registration token②

3) runner名称,这个随便写

4) 分支名,master

5) 协议方式,shell

如下图填写信息红色部分

3.4.4 开启gitlab-runner服务

输入开启命令,并检查window服务中和GitLab->Runners中是否开启成功

gitlab-ci-multi-runner-windows-amd64.exe installgitlab-ci-multi-runner-windows-amd64.exe start

 

 

3.4.5 修改协议config.toml文件(重要)

注册成功后,在文件夹中找到config.toml,在[[runners]]后面添加shell = "powershell"节点

 

3.5 构建.gitlab-ci.yml脚本

【.gitlab-ci.yml内容为】

stages:- buildjob:stage: buildscript:- echo "Restoring NuGet Packages..." - C:\test\nuget.exe restore "ConsoleApplication1.sln" - echo "Solution Build..."- C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe /p:Configuration=Debug /p:Platform="Any CPU" /consoleloggerparameters:ErrorsOnly /maxcpucount /nologo /property:Configuration=Release /verbosity:quiet "ConsoleApplication1.sln"tags: except:- tags
下图红框中的命令,只要将路径修改为"ConsoleApplication1.sln"的实际路径就能直接从Powershell中运行。注意如果报错"ConsoleApplication1.sln"找不到可以尝试变为"src/ConsoleApplication1.sln"

3.6 完成配置

提交代码测试

成功:

点击查看成功日志

失败:

点击查看错误日志

编译中:

点击查看编译中的日志

.gitlab-ci.yml脚本错误:

,点击跳转到.gitlab-ci.yml验证页面

4. 常见问题解决


4.1 GitLab出现Pending卡住

请检查Runner-CI服务器的GitLab-Runner服务是否安装成功,Runners中的Url地址①是否正确。

4.2 GitLab CI乱码问题

GitLab返回信息乱码,一般是因为GitLab不能识别中文,一般乱码是PowerShell返回的中文,把PowerShell脚本独立运行看看是否报错。所以推荐window搞成英文版的,要是哪位大侠知道GitLab怎么识别中文麻烦分享下哈。

4.3 明明错误,但Build成功

错误截图如下,请检查Git环境变量是否配置,PowerShell脚本是否独立为一个文件

4.4 .gitlab-ci.yml脚本错误

点击Lint,进行脚本验证,参考资料http://docs.gitlab.com/ee/ci/yaml/README.html

注意

script:- {空格} {你的命令}

 

 

感谢


劈荆斩棘:Gitlab 部署 CI 持续集成  感谢这篇文章让我少走了很多弯路

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
在自己服务器上安装 GitLab,代替 GitHub!
基于docker-compose的Gitlab CI/CD实践&排坑指南
Spring Cloud Config配置详解
《Jenkins从零到壹》Jenkins集成gitlab自动化构建(JAVA 小虚竹 建议收藏)
Linux系统GitLab安装与环境配置
教你使用Docker搭建gitlab社区汉化版的详细过程
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服