前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >开源DevOps利器之gitness

开源DevOps利器之gitness

原创
作者头像
金鹏
修改2023-10-11 01:05:43
4.2K0
修改2023-10-11 01:05:43
举报
文章被收录于专栏:SDLC技术探究

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命令搞定:

代码语言:javascript
复制
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 查看端口:

代码语言:javascript
复制
root@centos ~]# netstat -ntlp|grep 3000
tcp6       0      0 :::3000                 :::*                    LISTEN      1817263/gitness 

Gitness 镜像使用卷来存储数据库和仓库。 强烈建议使用绑定挂载或命名卷来方便管理 Gitness 升级时的数据。

此时就安装好了,浏览器敲上你的服务器地址加3000端口即可。

注册用户

如果是新用户则需要注册一个用户,点击Sign Up进行跳转注册:

然后就可以登录了。

创建工程

登陆成功后会让你创建一个工程,如果已经存在则会让你选择一个工程。

点击右上角按钮创建新的project:

也可以从github或者gitlab导入:

创建repo

工程创建完成后可以创建代码的仓库:

也可以从别的地方导入:

创建完成后可以看到左侧导航栏有很熟悉的commits,tags,pipelines 等功能:

在File中添加你的代码,就可以进行代码管理了。

Pipelines

如何做CICD呢?导航栏有个Pipelines,这个就是用来做CICD的。

我们可以创建一个新的pipeline:

创建完是这样的:

左边就是yaml文件定义的pipeline,右边steps你想要继续添加什么step去执行。

点击右上角的save and run就可以运行这个pipeline了。如下图运行结果,当然我这里是失败了,可能是因为我动了iptables和docker。

上述右侧是steps console log,左侧是stage。

总结

这个五脏俱全的东西还有其他功能,诸如Secrets(用来管理密钥信息的),Members,Settings,触发器,并行运行等功能。如果感兴趣可以去深入研究。总的来说是集齐了git和drone的功能,增强了用户体验。还别说他们官网做的还挺炫酷。

我正在参与2023腾讯技术创作特训营第二期有奖征文,瓜分万元奖池和键盘手表

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装
  • 注册用户
  • 创建工程
  • 创建repo
  • Pipelines
  • 总结
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档