国产持续集成工具 - Gokins
持续集成(Continuous Integration ,CI) 介绍
在传统软件开发过程中,集成通常发生在每个人都完成了各自的工作之后。在项目尾声阶段,通常集成还要痛苦的花费数周或者数月的时间来完成。持续集成是一个将集成提前至开发周期的早期阶段的实践方式,让构建、测试和集成代码更经常反复地发生。
开发人员通常使用一种叫做CI Server 的工具来做构建和集成。持续集成要求开发人员能够自测代码。分别测试各自代码来保证它能够正常工作,这些测试通常被称为单元测试(Unit tests)。
代码集成以后,当所有的单元测试通过,不同的开发人员就得到了一个绿色构建(green build)。这表明他们已经成功地集成在一起,代码正按照测试预期地在工作。然而,尽管集成代码能够成功地一起工作了,它仍未为生产做好准备,因为它没有在类似生产的环境中测试和工作。
Continuous Delivery (CD) 持续交付是持续集成的延伸,将集成后的代码部署到类生产环境,确保可以以可持续的方式快速向客户发布新的更改。如果代码没有问题,可以继续手工部署到生产环境中。
持续部署(Continuous Deploy)
如果真的想获得持续交付的好处,应该尽早部署到生产环境,以确保可以小批次发布,在发生问题时可以轻松排除故障。于是有了持续部署。
我们通常将这个在不同环境发布和测试的过程叫做部署流水线
持续部署是在持续交付的基础上,把部署到生产环境的过程自动化。
持续集成工具
Jenkins
Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。
不可否认的Jenkins是一款十分优秀的集成工具,拥有良好的生态和发展,但是它仍旧拥有一些弊端。
gokins
gokins 由golang编写,是一款国产的优秀的集成工具
-
是一个款轻量级、能够快速部署的持续集成工具
-
高效、简单的使用方式
-
自动化流水线工程。
使用gokins
下载运行
-
可以选择到Gokins的github主页下载对应平台的执行文件
-
或者直接在服务器上执行以下命令
## 获取可执行文件
wget -c https://github.com/mgr9525/gokins/releases/download/v0.1.0/gokins-linux-amd64
## 授权
chmod +x gokins-linux-amd64
## 运行gokins
./gokins-linux-amd64
##查看帮助命令
./gokins-linux-amd64 --help
- 运行成功后 访问
8030
端口
初始化配置
- 设置root账号密码
- 登录后我们可以查看主界面
流水线的使用
- 更新git代码
配置代码目录
cd ~
mkdir programs
cd programs
git clone http://用户名:密码@git.xxx.cn/IPFS/IPFS-Slave.git
cd IPFS-Slave/
pwd
使用用户名密码clone防止流水线更新代码时需要登录凭证
复制此目录路径,新建流水线时需要
-
流水线构建
-
新建好之后进入插件列表新建插件
-
首先新建一个更新git的插件
-
之后新建一个编译插件
-
返回运行流水线
- 以上就完成了一个简单的CI流水线工程
开发Gokins
Gokins目前还处于需要不断进步的阶段,如果你有兴趣假如我们,可以在github上提交pr或者iss
Gokins交流群
服务器环境
服务器: ubuntu18 linux64位
项目需要环境:git、golang、node.js
安装项目环境
-
git
要求 git 2.17.1 或者 2.x 其他版本
-
node.js
要求 node 12.19.0
-
golang
要求 golang 1.15.2
Gokins的优势和未来趋势
- 体积小,无论是可执行文件还是运行内存,相对于Jenkins的运行内存节约不止一个量级,目前Gokins的运行内存大概就是在20kb左右
- 简单友好的UI交互,更加利于上手
- 自定义的插件配置,让你可以应对多种情况
- 安全,绝不收集任何用户或者服务器信息
在未来,一个简单、易用的CI/CD工具会大大提高企业的生产效率。同时Gokins不仅仅可以作为代码交付方面的工具,同样可以成为自动化运维的核心组件,用于支持大型工程。
标签:集成,Gokins,git,gokins,代码,国产,流水线 From: https://www.cnblogs.com/superjim/p/18180773