gitness是一个开源的Devops工具,截至发稿github上有接近30k的🌟,它主要是用以管理源代码和CICD pipelines。接下来让我们一起来了解和使用gitness,后面也会深入研究其代码实现。
gitness 是Harness旗下的一款开源产品,用过harness的应该知道,它应该是一款Devops界的瑞士军刀,唯一缺点就是高级功能收费。另外说到gitness和harness不得不提下drone, drone是基于容器技术实现的持续集成和持续部署的,以YMAL配置文件定义pipeline的开源利器,相信很多中小企业都用过。开源一段时间后就被harness收购,作为harness的CI端的一份子了。
而在使用drone时,有个缺点是必须要部署一套自己的SCM,例如github等,而gitness,个人觉得应该算是集成了drone和git的功能,并且可能会有一些harness平台上的一些功能的派生。
本文主要是讲述如何安装和简要介绍其功能。
比较简单,一个docker命令搞定:
docker run -d \
-p 3000:3000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /tmp/gitness:/data \
--name gitness \
--restart always \
harness/gitness
使用netstat或者ss 查看端口:
root@centos ~]# netstat -ntlp|grep 3000
tcp6 0 0 :::3000 :::* LISTEN 1817263/gitness
Gitness 镜像使用卷来存储数据库和仓库。 强烈建议使用绑定挂载或命名卷来方便管理 Gitness 升级时的数据。
此时就安装好了,浏览器敲上你的服务器地址加3000端口即可。
如果是新用户则需要注册一个用户,点击Sign Up进行跳转注册:
然后就可以登录了。
登陆成功后会让你创建一个工程,如果已经存在则会让你选择一个工程。
点击右上角按钮创建新的project:
也可以从github或者gitlab导入:
工程创建完成后可以创建代码的仓库:
也可以从别的地方导入:
创建完成后可以看到左侧导航栏有很熟悉的commits,tags,pipelines 等功能:
在File中添加你的代码,就可以进行代码管理了。
如何做CICD呢?导航栏有个Pipelines,这个就是用来做CICD的。
我们可以创建一个新的pipeline:
创建完是这样的:
左边就是yaml文件定义的pipeline,右边steps你想要继续添加什么step去执行。
点击右上角的save and run就可以运行这个pipeline了。如下图运行结果,当然我这里是失败了,可能是因为我动了iptables和docker。
上述右侧是steps console log,左侧是stage。
这个五脏俱全的东西还有其他功能,诸如Secrets(用来管理密钥信息的),Members,Settings,触发器,并行运行等功能。如果感兴趣可以去深入研究。总的来说是集齐了git和drone的功能,增强了用户体验。还别说他们官网做的还挺炫酷。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。