首页 > 其他分享 >国产持续集成工具 - Gokins

国产持续集成工具 - Gokins

时间:2024-05-08 20:11:28浏览次数:20  
标签:集成 Gokins git gokins 代码 国产 流水线

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

下载运行

## 获取可执行文件
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. 流水线构建

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

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

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

  5. 返回运行流水线

  • 以上就完成了一个简单的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,git,gokins,代码,国产,流水线
From: https://www.cnblogs.com/superjim/p/18180773

相关文章

  • 用友接口对接怎么做,U8API接口对接,轻松应对复杂集成场景!
    在企业上云的大趋势下,U8+全面转向互联网方向,深入融合云应用,一站式提供财务、营销、制造、采购、设计、协同、人力等领域的“端+云”服务,并通过软硬一体化、产业链协同的策略全面赋能成长型企业在技术、供应链、生产、财税、营销等领域的创新升级。为成长型企业提供基于互联网的......
  • 解决国产系统 Docker 拉取大镜像卡顿之谜
    今天解决了客户arm64机器上dockerpull大镜像卡住的问题。由来同事让我帮忙解决客户现场Docker镜像无法拉取的问题,故障如下会一直卡住: $ docker pull xxx:5000/xxxx xxx: Pulling from xxx/xxxxxx 7c0b344a74c2: Extracting [>     ......
  • 入门Semantic Kernel:OneApi集成与HelloWorld
    引言从这一章节开始正式进入我们的SemanticKernel的学习之旅了。什么是SemanticKernel?SemanticKernel是一个轻量级的开源框架,通过SemanticKernel可以快速使用不同编程语言(C#/Python/Java)结合LLMs(OpenAI、AzureOpenAI、HuggingFace等模型)构建智能应用,简化将人......
  • xlwings:在Excel中集成Python
    Github地址:https://github.com/xlwings/xlwings在现代数据分析和报表生成中,MicrosoftExcel仍然是一款非常流行和强大的工具。与此同时,Python作为一种高级编程语言,具备出色的数据处理和分析能力。那么,有没有一种方法可以将Excel和Python完美结合,以发挥它们各自的优势?答案是肯定的......
  • SpringBoot集成WebSocket
    SpringBoot集成WebSocket1.引jar包<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId></dependency><dependency&......
  • 模拟集成电路设计系列博客——6.2.5 毛刺
    6.2.5毛刺数字逻辑的毛刺是转换器进行高速工作时的一个主要问题,\({b_1,b_2,...,b_N}\)与开关信号直接关联。毛刺的来源是开关切换不同信号的延迟。例如,但数字码从\(0111...1\)切换到\(1000...0\)时,所有的\(N-1\)的LSB都关闭,而MSB打开,然而,有可能LSB开关的电流先于MSB开关的电流关......
  • 模拟集成电路设计系列博客——6.2.2 基于R-2R的转换器
    6.2.2基于R-2R的转换器为了避免二进制权重转换器中的巨大电阻比例,可以通过引入串联电阻来使得阵列中的信号缩放,如下图所示:注意此处的节点电压\(V_A\)等于参考电压\(V_{ref}\)的四分之一,作为\(3R\)的串联电阻引入的结果。同时注意一个额外的\(4R\)被添加在地处,从而使得从\(3R\)......
  • 模拟集成电路设计系列博客——6.2.3 电荷重分布开关电容转换器
    6.2.3电荷重分布开关电容转换器电荷重分布开关电容转换器的基本思想是将开关电容增益放大器的输入电容替换为一个可编程电容阵列(PCA,ProgrammableCapacitorArray),如下图所示:如我们之前在开关电容增益放大器时讨论的一样,上图中的电路对于放大器输入失调电压,\(1/f\)噪声和有限放......
  • 模拟集成电路设计系列博客——6.2.1 二进制权重电阻转换器
    6.2.1二进制权重电阻转换器一种主流的实现D/A转换器的方式是将一组信号以二进制方式进行组合。这组二进制信号可以是电流(在电阻或者电流方式中),但二进制权重的电荷也经常使用。在这个章节中,将首先介绍店主方式,然后是和电荷重分布的模式和电流模式。在这个远离下并不能保证单调性,......
  • .Net单元测试xUnit和集成测试指南
    引言在现代化的软件开发中,单元测试和集成测试是确保代码质量和可靠性的关键部分。ASP.NETCore社区内提供了强大的单元测试框架,xUnit是其中之一,它提供了简单、清晰和强大的测试功能,编写单元测试有许多优点;有助于回归、提供文档及辅助良好的设计。下面几节我们来深入浅出探讨如......