SCMLife.com

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 4648|回复: 3

[讨论] 如何进行linux环境下开发编译环境的版本控制

[复制链接]
发表于 2016-6-25 17:58:40 | 显示全部楼层 |阅读模式
不知道有没有企业遇到类似以下的问题,如果您也有遇到,您在工作中是如何解决的呢?
0 G% b3 b( k+ n5 s0 R( |  D& d1 M. i' s& }  i; S6 J! V
先说假设的背景:某企业是在Linux和UNIX环境下开发,使用大概90%左右大量的开源软件和部分商业软件来开发产品,开发测试环境中总计用到的软件数量在100左右,开发测试员工约有几百人,同时并行的项目约有几十个,开发环境不尽相同,那么我们的问题来了:
3 l7 B% K/ O8 F" }3 t5 k. d" D* n9 \7 h: Q
1、您是如何做到为开发测试人员快速部署开发测试环境的?这几百人的个人工作机开发环境是怎么来部署的?你的最快纪录是多少分钟呢?
7 H( C+ k1 ?8 B% r9 h: _. U+ a. q) r( ]. F$ X
2、这上百个开发测试环境中用到的软件(含开源+商业软件)是如何来做版本控制的?; B; r' r% X* O' }, p3 k
# b* H$ H. E9 ]2 |
3、您是如何来保障开发环境的版本与源代码版本的一致性的,也就是说我能够随时还原出某个项目在任意时间点的开发环境,保证我源码可以编译成功。; {) Y- s4 V' y. m( q1 Q) g

& R% i( B$ j* f( z3 f! k& }4、您是如何让测试人员在测试环境发现的问题,能够尽量在开发环境复现的?$ Y; n: U) K/ t6 D; ~

8 w, ]8 V, \- [) |" G2 F5、假设有几个项目的开发环境略有不同,比如都用gcc,但用到的编译版本不同,你是如何让同一参与多个项目的开发人员保持他们正确的开发环境?
) r2 m, T8 M5 J7 _+ D. ]     同样的困惑更适用于测试人员,因为他们真的有可能对多个项目进行测试,原因是他在这些项目中都是负责的同一模块。那么保持正确的测试环境就很重要。0 {8 _( _+ k: ]8 `

5 z# i9 G9 o$ r) o0 K6、某款软件因为业务的需要,必须要做升级时,我们如何对整个项目组所有人员的开发环境进行升级?
8 E; ]0 |, W& H% d0 D, y7 v, l
: M  P5 }1 l$ y5 I3 Y7、您的自动构建系统有没有考虑到开发环境的因素,在自动编译代码时自动调用该代码对应的开发环境?
2 E9 j2 b2 e! R8 v$ A# R

) n; J2 w  ], _( A..........
" L+ k. l' e* U7 @4 l' ^/ P7 e9 t
类似与环境版本的问题很多,大家都来谈一谈您的企业是如何来做的?
; {8 @: B* `1 ]7 C9 s
发表于 2016-10-25 15:54:47 | 显示全部楼层
现在能够想到的应该是用docker等容器技术来解决。& ?4 g- A" A* d7 y( Q1 ^6 t7 ?; a
回复 支持 反对

使用道具 举报

发表于 2017-7-3 18:42:25 | 显示全部楼层
好贴,问题比较多但是也太细了,场景很多。总结一下,主要还是分为2类:
" Q6 _9 d* x: ?; T. Z6 y: d1.服务器级别的配置管理(源码、测试环境、甚至特征软件等)
8 \2 i, ~9 \+ D% H2.工作区级别的配置管理(个人研发环境或自测环境)
- r/ ]) h& j2 @4 |1 F我也想了解下大家现在是怎么做的,目前能查到的基本都是靠虚拟化、沙箱来进行容器化管理,但是这类管理模式对服务器资源要求很大,本地机房管理成本应该不小,上云管理就又会涉及效率、成本和易用性问题,看看大家都是怎么解答
回复 支持 反对

使用道具 举报

发表于 2017-11-15 15:02:52 | 显示全部楼层
感谢楼主分享
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

SCMLife推荐上一条 /5 下一条

QQ|小黑屋|手机版|无图版|SCMLife.com ( 京ICP备06056490号-1 )

GMT+8, 2020-4-4 10:50 , Processed in 0.065087 second(s), 8 queries , Gzip On, MemCache On.

Powered by SCMLife X3.4 Licensed

© 2001-2017 JoyShare.

快速回复 返回顶部 返回列表