小公司的软件开发IT工具箱

目录

工具链困境

难题的解决

达到的效果

资源要求低

工具箱一览

1、代码管理工具

2、自动化发版(测试)工具

3、依赖库(制品包)管理

4、镜像管理

5、授权管理(可选)

待讨论:为什么不是jenkins

相关链接


工具链困境

小公司开发人员少,一般只有几个。为此专门招聘IT人员搭建庞大的IT框架有点不划算。

但是靠开发人员本地维护代码和版本又不方便,既增加了开发人员的工作量,又增加了管理难度。

难题的解决

搭建一套简单的软件IT设施,不需要IT人员维护,同时又能提高我们的开发效率。

这样就一站式解决代码管理,自动化发版,自动化测试,依赖库(制品包)管理,镜像管理,授权管理等问题。

达到的效果

  • 组织规范:代码、发版二进制文件统一管理。

  • 流水线作业,自动化程度高:研发通过打tag或者提交mr的方式触发流水线自动编译、打包、测试和上传等动作。不用担心拉错分支,编错版本。

  • 学习成本低,易上手:只需基础的git,docker使用经验,熟悉wget和curl等基础的文件上传和下载。

资源要求低

一台Linux服务器

工具箱一览

1、代码管理工具

gitlab服务器社区版

建议部署到docker中,既不影响物理机环境,后续一旦有迁移需求,也很方便

2、自动化发版(测试)工具

gitlabrunner

安装方式简单,下载deb包安装即可,因此可以部署到物理机。 也支持部署到docker中。

经过简单的配置后,就可以在gitlab上配置CI,通过gitlabrunner做流水线CICD发版和测试。

3、依赖库(制品包)管理

最简单的方式是搭建一个http文件服务器(nginx或者其他)

最好是安装artifactory专业的制品库管理工具,他具有严格的权限管理且有web页面

4、镜像管理

  • dockerfile和构建脚本: 用git管理

  • docker镜像: 用artifactory或harbor存储和管理

5、授权管理(可选)

openLDAP可以配置到git,artifactory以及harbor上面实现类似域帐号的统一认证功能

安装openLDAP后可以接入统一认证系统,实现一个用户名密码登录git,artifactory等所有系统

如果觉得配置起来麻烦,可以通过各平台手动添加用户或者手动注册的方式进行,例如直接通过gitlab页面注册

待讨论:为什么不是jenkins

jenkins也是一个CICD工具链,有很多使用场景。

但对小型团队的收益有限,还增添了额外的学习成本。

相关链接

CICD:为gitlab搭建gitlab-runner服务支持docker流水线pipeline

这写是我在小公司的真实实践,希望能帮助到同样在小公司的你。

相关推荐
egoist202316 分钟前
【Linux仓库】进程优先级及进程调度【进程·肆】
linux·运维·服务器·进程切换·进程调度·进程优先级·大o1调度
格调UI成品2 小时前
预警系统安全体系构建:数据加密、权限分级与误报过滤方案
大数据·运维·网络·数据库·安全·预警
兔老大RabbitMQ4 小时前
GitLab详细分析
gitlab
xuanzdhc6 小时前
Linux 基础IO
linux·运维·服务器
愚润求学6 小时前
【Linux】网络基础
linux·运维·网络
小和尚同志7 小时前
29.4k!使用 1Panel 来管理你的服务器吧
linux·运维
小米里的大麦9 天前
014 Linux 2.6内核进程调度队列(了解)
linux·运维·驱动开发
WIN赢9 天前
PostMan使用
测试工具·lua·postman
程序员的世界你不懂9 天前
Appium+python自动化(三十)yaml配置数据隔离
运维·appium·自动化
算法练习生9 天前
Linux文件元信息完全指南:权限、链接与时间属性
linux·运维·服务器