国产持续集成工具 - 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账号密码

  • 登录后我们可以查看主界面

流水线的使用

  1. 更新git代码

配置代码目录

cd ~
mkdir programs
cd programs
git clone http://用户名:密码@git.xxx.cn/IPFS/IPFS-Slave.git
cd IPFS-Slave/
pwd

使用用户名密码clone防止流水线更新代码时需要登录凭证

复制此目录路径,新建流水线时需要

  1. 流水线构建


3. 新建好之后进入插件列表新建插件

  1. 首先新建一个更新git的插件

  1. 之后新建一个编译插件


可以查看到有两个插件

  1. 返回运行流水线



  • 以上就完成了一个简单的CI流水线工程

开发Gokins

Gokins目前还处于需要不断进步的阶段,如果你有兴趣假如我们,可以在github上提交pr或者iss

Gokins交流群

服务器环境

 服务器: ubuntu18 linux64位项目需要环境:git、golang、node.js

安装项目环境

  1. git
    要求 git 2.17.1 或者 2.x 其他版本

  2. node.js
    要求 node 12.19.0

  3. golang
    要求 golang 1.15.2

Gokins的优势和未来趋势

  • 体积小,无论是可执行文件还是运行内存,相对于Jenkins的运行内存节约不止一个量级,目前Gokins的运行内存大概就是在20kb左右
  • 简单友好的UI交互,更加利于上手
  • 自定义的插件配置,让你可以应对多种情况
  • 安全,绝不收集任何用户或者服务器信息

在未来,一个简单、易用的CI/CD工具会大大提高企业的生产效率。同时Gokins不仅仅可以作为代码交付方面的工具,同样可以成为自动化运维的核心组件,用于支持大型工程。

国产持续集成工具 - Gokins相关推荐

  1. 自行搭建嵌入式持续集成工具:从0到1

    为什么持续集成备受推崇? 软件开发过程中,开发方式及开发工具是至关重要的. 持续集成(Continuous Integration,CI)以使产品在快速迭代的同时保持高质量为目的,指开发人员定期将代码 ...

  2. jenkins 忘记密码_持续集成工具Jenkins 在CentOS系统下安装

    一.Jenkins简介 Jenkins是一个开源的持续集成工具,用于持续.自动的构建.测试.发布项目.Jenkins使用Java开发,可与版本管理工具集成使用. Jenkins支持UI操作来部署流水线 ...

  3. 中小型研发团队架构实践:高效率、低风险,一键发布并测试的持续集成工具Jenkins...

    一.Jenkins 简介 \\ 当每月发布次数变得越来越多时,如超过 200 次,发布工作人员的工作量会翻倍,此时由人工发布操作失误引起的风险会变得越来越大.为了提高项目的发布效率,也为了降低由人工操 ...

  4. 持续集成工具 Jetbrains TeamCity 简介

    目录 安装 Windows下安装 Docker下安装 使用TeamCity 初始化 配置数据库 新建项目 设置构建步骤 构建项目 测试项目 自动构建 邮件通知 大名鼎鼎的Intellij IDEA大家 ...

  5. java 持续集成工具_Jenkins集成式项目控件下载

    Jenkins是一款基于Java开发的持续集成工具,它是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能, 主要可用于持续.自动地构建/测试软件项目,如CruiseContr ...

  6. 不容错过的8个持续集成工具

    如果你很熟悉"持续集成",一定会同意这样的观点:"它已经逐渐成为一种必不可少的工具".在这篇文章中,我们将介绍几款流行的持续集成工具.阅读后,你会对这些CI工具 ...

  7. Hudson:持续集成工具的安装、使用

    Hudson简介 http://hudson-ci.org      以其强大的功能和易用的界面征服了大量的用户,它与主流的构建工具.版本控制系统以及自动化测试框架都能进行很好的集成.      很多 ...

  8. 持续集成工具jenkins的部署--Windows篇

    一.前言 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能.本文使用Jenkins构建githu ...

  9. 以持续集成工具实现DevOps之禅

    作为DevOps流程中的一个重要组成部分,持续集成(CI)的目标是对开发团队的代码进行集成,包括代码的构建.单元测试与集成测试的执行,以及生成执行结果的报表等等.CI使开发团队无需将时间浪费在处理代码 ...

最新文章

  1. ROS系统开发——ROS,realsense风险和解决方案备忘录
  2. linux配置选项大全,Linux下的十项实用“sudo”配置选项
  3. VNC viewer远程连接linux桌面
  4. vue/cli 3.0 脚手架【进阶】 使用 amfe-flexible 和 postcss-px2rem进行移动端适
  5. frameset 后台管理_易达CMS下载-易达CMS(免费开源网站管理系统)v3.0.0.1103免费版
  6. 究竟是什么可以比反射还快实现动态调用?| Source Generators版
  7. 关于配置Webapck的 exclude 不过滤 node_modules Babel却没有处理转换node_modules的源码
  8. JSP+Servlet+C3P0+Mysql实现的azhuo商城
  9. deep learning 深度学习中英文版下载地址
  10. 阿里云服务器ip:端口号无法访问
  11. 最近两周的前后端交互
  12. Linux passwd系统错误,Linux系统处理”passwd: Authentication token manipulation error”错误...
  13. 悼念著名计算机科学学者孙钟秀院士
  14. 金蝶K3供应链单据套打设置(以采购订单为例)
  15. 00套经典机械结构设计非标自动化SW机构3D图纸solidWorks模型库
  16. opencv cvtColor 出错
  17. 基于web的模型管理系统的设计
  18. 麒麟服务器系统搭建nfs共享
  19. 只能替换有源晶振 时钟发生器_有源晶振选型与替换原则
  20. opencv 通过标定摄像头测量物体大小_激光三角测量法在工业视觉检测上的应用...

热门文章

  1. 【正点原子FPGA连载】第二十一章 HDMI彩条显示实验 -摘自【正点原子】领航者ZYNQ之FPGA开发指南_V2.0
  2. 在哪里启动oracle服务,启动Oracle服务的几种方式
  3. 综合性大学有音乐系和计算机系吗,音乐艺考生可以上那些综合类大学
  4. c语言中冒号运算符,冒号等于 - G之间的差异:=和=运算符
  5. Clocksource tsc unstable
  6. 什么是缓存穿透,如何解决?
  7. 面试题之一:堆栈区别
  8. htc详细了解事件(转)
  9. 玩转python爬虫,从简易到复杂
  10. Golang最强大的访问控制框架casbin全解析