国产持续集成工具 - Gokins
国产持续集成工具 - Gokins
持续集成(Continuous Integration ,CI) 介绍
在传统软件开发过程中,集成通常发生在每个人都完成了各自的工作之后。在项目尾声阶段,通常集成还要痛苦的花费数周或者数月的时间来完成。持续集成是一个将集成提前至开发周期的早期阶段的实践方式,让构建、测试和集成代码更经常反复地发生。
开发人员通常使用一种叫做CI Server 的工具来做构建和集成。持续集成要求开发人员能够自测代码。分别测试各自代码来保证它能够正常工作,这些测试通常被称为单元测试(Unit tests)。
代码集成以后,当所有的单元测试通过,不同的开发人员就得到了一个绿色构建(green build)。这表明他们已经成功地集成在一起,代码正按照测试预期地在工作。然而,尽管集成代码能够成功地一起工作了,它仍未为生产做好准备,因为它没有在类似生产的环境中测试和工作。
持续交付(Continuous Delivery)
Continuous Delivery (CD) 持续交付是持续集成的延伸,将集成后的代码部署到类生产环境,确保可以以可持续的方式快速向客户发布新的更改。如果代码没有问题,可以继续手工部署到生产环境中。
持续部署(Continuous Deploy)
如果真的想获得持续交付的好处,应该尽早部署到生产环境,以确保可以小批次发布,在发生问题时可以轻松排除故障。于是有了持续部署。
我们通常将这个在不同环境发布和测试的过程叫做部署流水线
持续部署是在持续交付的基础上,把部署到生产环境的过程自动化。
持续集成工具
Jenkins
Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。
不可否认的Jenkins是一款十分优秀的集成工具,拥有良好的生态和发展,但是它仍旧拥有一些弊端。
gokins
gokins 由golang编写,是一款国产的优秀的集成工具
是一个款轻量级、能够快速部署的持续集成工具
高效、简单的使用方式
自动化流水线工程。
使用gokins
下载运行
项目地址 : https://github.com/mgr9525/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防止流水线更新代码时需要登录凭证
复制此目录路径,新建流水线时需要
- 流水线构建
3. 新建好之后进入插件列表新建插件
- 首先新建一个更新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相关推荐
- 自行搭建嵌入式持续集成工具:从0到1
为什么持续集成备受推崇? 软件开发过程中,开发方式及开发工具是至关重要的. 持续集成(Continuous Integration,CI)以使产品在快速迭代的同时保持高质量为目的,指开发人员定期将代码 ...
- jenkins 忘记密码_持续集成工具Jenkins 在CentOS系统下安装
一.Jenkins简介 Jenkins是一个开源的持续集成工具,用于持续.自动的构建.测试.发布项目.Jenkins使用Java开发,可与版本管理工具集成使用. Jenkins支持UI操作来部署流水线 ...
- 中小型研发团队架构实践:高效率、低风险,一键发布并测试的持续集成工具Jenkins...
一.Jenkins 简介 \\ 当每月发布次数变得越来越多时,如超过 200 次,发布工作人员的工作量会翻倍,此时由人工发布操作失误引起的风险会变得越来越大.为了提高项目的发布效率,也为了降低由人工操 ...
- 持续集成工具 Jetbrains TeamCity 简介
目录 安装 Windows下安装 Docker下安装 使用TeamCity 初始化 配置数据库 新建项目 设置构建步骤 构建项目 测试项目 自动构建 邮件通知 大名鼎鼎的Intellij IDEA大家 ...
- java 持续集成工具_Jenkins集成式项目控件下载
Jenkins是一款基于Java开发的持续集成工具,它是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能, 主要可用于持续.自动地构建/测试软件项目,如CruiseContr ...
- 不容错过的8个持续集成工具
如果你很熟悉"持续集成",一定会同意这样的观点:"它已经逐渐成为一种必不可少的工具".在这篇文章中,我们将介绍几款流行的持续集成工具.阅读后,你会对这些CI工具 ...
- Hudson:持续集成工具的安装、使用
Hudson简介 http://hudson-ci.org 以其强大的功能和易用的界面征服了大量的用户,它与主流的构建工具.版本控制系统以及自动化测试框架都能进行很好的集成. 很多 ...
- 持续集成工具jenkins的部署--Windows篇
一.前言 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能.本文使用Jenkins构建githu ...
- 以持续集成工具实现DevOps之禅
作为DevOps流程中的一个重要组成部分,持续集成(CI)的目标是对开发团队的代码进行集成,包括代码的构建.单元测试与集成测试的执行,以及生成执行结果的报表等等.CI使开发团队无需将时间浪费在处理代码 ...
最新文章
- ROS系统开发——ROS,realsense风险和解决方案备忘录
- linux配置选项大全,Linux下的十项实用“sudo”配置选项
- VNC viewer远程连接linux桌面
- vue/cli 3.0 脚手架【进阶】 使用 amfe-flexible 和 postcss-px2rem进行移动端适
- frameset 后台管理_易达CMS下载-易达CMS(免费开源网站管理系统)v3.0.0.1103免费版
- 究竟是什么可以比反射还快实现动态调用?| Source Generators版
- 关于配置Webapck的 exclude 不过滤 node_modules Babel却没有处理转换node_modules的源码
- JSP+Servlet+C3P0+Mysql实现的azhuo商城
- deep learning 深度学习中英文版下载地址
- 阿里云服务器ip:端口号无法访问
- 最近两周的前后端交互
- Linux passwd系统错误,Linux系统处理”passwd: Authentication token manipulation error”错误...
- 悼念著名计算机科学学者孙钟秀院士
- 金蝶K3供应链单据套打设置(以采购订单为例)
- 00套经典机械结构设计非标自动化SW机构3D图纸solidWorks模型库
- opencv cvtColor 出错
- 基于web的模型管理系统的设计
- 麒麟服务器系统搭建nfs共享
- 只能替换有源晶振 时钟发生器_有源晶振选型与替换原则
- opencv 通过标定摄像头测量物体大小_激光三角测量法在工业视觉检测上的应用...
热门文章
- 【正点原子FPGA连载】第二十一章 HDMI彩条显示实验 -摘自【正点原子】领航者ZYNQ之FPGA开发指南_V2.0
- 在哪里启动oracle服务,启动Oracle服务的几种方式
- 综合性大学有音乐系和计算机系吗,音乐艺考生可以上那些综合类大学
- c语言中冒号运算符,冒号等于 - G之间的差异:=和=运算符
- Clocksource tsc unstable
- 什么是缓存穿透,如何解决?
- 面试题之一:堆栈区别
- htc详细了解事件(转)
- 玩转python爬虫,从简易到复杂
- Golang最强大的访问控制框架casbin全解析