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

devtools/2024/12/23 3:35:44/

目录

工具链困境

难题的解决

达到的效果

资源要求低

工具箱一览

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

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


http://www.ppmy.cn/devtools/45961.html

相关文章

日常开发坑记录

hutool工具类转换,anInt可能为负数(队列散列需求遇到)long l = RandomUtil.randomLong(0, 9999999999L);Integer anInt = Convert.toInt(l);System

20232815 2023-2024-2 《网络攻防实践》实践十一报告

20232815 2023-2024-2 《网络攻防实践》实践十一报告 1.实践内容 网络渗透: 网络渗透是攻击者常用的一种攻击手段,也是一种综合的高级攻击技术,同时网络渗透也是安全工作者所研究的一个课题,在他们口中通常被称为”渗透测试&…

短视频矩阵系统搭建开发,ai智能剪辑系统,矩阵发布,一键管理多个账户

前言: 企业短视频矩阵是企业通过搭建多个短视频平台账号,形成一个多元化的内容传播网络。它旨在通过多平台内容的同步传播,实现企业品牌价值的最大化。短视频矩阵包括抖音、快手、视频号、小红书、百家号等热门短视频平台,其核心…

网关(Gateway)- 自定义过滤器工厂

自定义过滤工厂类 DemoGatewayFilterFactory package com.learning.springcloud.custom;import org.apache.commons.lang.StringUtils; import org.springframework.cloud.gateway.filter.GatewayFilter; import org.springframework.cloud.gateway.filter.GatewayFilterChai…

微信小程序分销商城源码系统 区域代理+收银台+兑换中心 功能强大 附带完整的安装代码包以及搭建教程

系统概述 微信小程序分销商城源码系统是一款基于微信小程序平台开发的电商系统,旨在为商家提供全方位的电商解决方案。该系统采用先进的技术架构,支持多平台、多终端访问,能够满足不同商家的业务需求。系统拥有简洁明了的用户界面和丰富的功…

【Java数据结构】详解Stack与Queue(二)

🔒文章目录: 1.❤️❤️前言~🥳🎉🎉🎉 2.栈的应用场景 2.1逆序打印链表 2.2逆波兰表达式求值 2.3括号匹配 2.4出栈入栈次序匹配 2.5最小栈 3. 栈 虚拟机栈 栈帧的区别 4.总结 1.❤️❤️前言~&#x1f973…

记 Codes 开源免费研发管理平台 —— 生成式全局看板的创新实现

继上一回合瀑布与敏捷的融合创新实现后,本篇我们来讲一讲 Codes 生成式全局看板的创新实现。 市面上所有的研发管理软件,看板模式的项目,都是物理看板的电子化,好像也没什么问题,但是在使用过程中体验非常不好&#xf…

【运维项目经历|027】PXE自动化部署与管理平台

🍁博主简介: 🏅云计算领域优质创作者 🏅2022年CSDN新星计划python赛道第一名 🏅2022年CSDN原力计划优质作者 🏅阿里云ACE认证高级工程师 🏅阿里云开发者社区专…