有了解外包公司的朋友吗?平时开发用 Git 吗?有搞 DevOps 提高团队效率吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
jamiefang
V2EX    程序员

有了解外包公司的朋友吗?平时开发用 Git 吗?有搞 DevOps 提高团队效率吗?

  •  2
    &nsp;
  •   jamiefang 2019-01-05 20:49:56 +08:00 10189 次点击
    这是一个创建于 2501 天前的主题,其中的信息可能已经有所发展或是发生改变。
    听说大部分外包团队平时不允许使用 Git 等工具,也不用 Jenkins 搞 CI/CD 流程。

    拿起 Eclipse 就是一把梭。
    导出 jar 包交给甲方的测试部门就不管了。

    真的是这样吗?
    64 条回复    2019-01-08 18:57:27 +08:00
    tom
        1
    tom  
       2019-01-05 21:04:21 +08:00   1
    是的
    gz911122
        2
    gz911122  
       2019-01-05 21:05:10 +08:00
    这么可怕吗
    akatquas
        3
    akatquas  
       2019-01-05 21:09:36 +08:00 via iPhone
    外包诉求主完成任务交活,
    操心太多反而不划算
    Cbdy
        4
    Cbdy  
       2019-01-05 21:09:53 +08:00   1
    就我接触的情况而言
    有用 Git 的,也有用 Subversion 的
    CI/CD 是没有的
    如果是 Java
    IDEA (盗版)也是用的
    有使用 maven 的,但也有(不少)不使用构建工具,依赖 IDE 行为的
    代码质量很差,BUG 不可预料
    yghack
        5
    yghack  
       2019-01-05 21:13:43 +08:00
    外包的第一要务就是把活干完
    airyland
        6
    airyland  
       2019-01-05 22:16:06 +08:00   2
    恕我直言,快速完成外包业务不代表连个基本的 Git 也不用,这是不花什么时间而且好处相当明显的。它让你可以养成按功能点提交的习惯,方便协作,方便回溯代码,方便查看他人变更,方便回退,甚至方便写日志,同步到仓库还可以当远程代码备份。甚至出 bug 是谁的锅看代码也清清楚楚。

    所以不应该用快速完成业务来当作不用版本管理的理由,实际原因就是管理人员懒、守旧、不接受(也可能不懂)更加先进的工作方式。

    我也见过外包公司在微信群里一天传好几个版本的接口文档,文件名字不变,没有 changelog,看着崩溃,已经 9102 年了,在线更新文档就这么难咩。

    我司也算外包公司,用 Github Private Repo 做仓库,用 issue 沟通,而且核心的单元测试也是要过的。
    hlwjia
        7
    hlwjia  
    PRO
       2019-01-05 22:21:48 +08:00
    @airyland 你这是中国乃至全世界少有的几个外包公司之一了
    anyele
        8
    anyele  
       2019-01-05 22:25:29 +08:00   1
    其实不用 GIT, 很大原因是外包人员根本不会
    neoblackcap
        9
    neoblackcap  
       2019-01-05 22:49:03 +08:00   1
    一定要用 svn 的话,其实你还有 git svn 可以使用。
    至于 Jenkins 跟 DevOps 其实是不相关的。
    whileFalse
        10
    whileFalse  
       2019-01-05 22:49:29 +08:00
    @airyland 你这个也算外包的外包大概不是大家脑子里的外包吧。
    CallMeReznov
        11
    CallMeReznov  
       2019-01-05 22:50:16 +08:00
    请问一下不用 GIT 或 SVN 他们用什么做代码管理的?
    CivAx
        12
    CivAx  
       2019-01-05 22:58:28 +08:00   1
    看外包级别

    我的其中一个前公司是为全国三大运营商的互联网渠道的核心业务做外包的,Svn+Git+Docker+Jira 都用上了

    主要还是看相关技术负责人对工作和技术的态度吧
    jiafaner
        13
    jiafaner  
       2019-01-05 22:59:38 +08:00   1
    我们也接外包的业务啊,git 还是要用的,单元测试也有,文档也要完备的,持续集成没用,不过用了一些 bash 跑定时测试和定时部署,我感觉还行
    airyland
        14
    airyland  
       2019-01-05 23:06:11 +08:00   1
    @whileFalse 是外包,人员比较少而已。
    privil
        15
    privil  
       2019-01-05 23:06:31 +08:00
    @hlwjia #7
    @whileFalse #10 thoughtworks 也是外包公司噢……
    ooppstef
        16
    ooppstef  
       2019-01-05 23:28:21 +08:00
    git/svn 之类不用..怎么写代码?难道一个人一天就写完了吗?这太可怕了.
    jamiefang
        17
    jamiefang  
    OP
       2019-01-05 23:35:07 +08:00
    @tom 这么可怕吗?
    sagaxu
        18
    sagaxu  
       2019-01-05 23:39:42 +08:00 via Android   1
    我听说过不会导出 war,部署全靠 eclipse 里点运行的外包公司,git 是不可能 git 的,SVN 都只会三条操作
    Joe0920
        19
    Joe0920  
       2019-01-05 23:50:37 +08:00 via iPhone
    外包被黑得最惨的一次
    applehater
        20
    applehater  
       2019-01-06 01:08:12 +08:00
    “任正非公开信:投入 20 亿美元全面提升华为软件质量”
    @CivAx 华为卖给运营商设备和系统是足够大的订单,主要是项目的钱决定了花在质量上的工作。
    jamiefang
        21
    jamiefang  
    OP
       2019-01-06 01:41:20 +08:00
    @sagaxu 这都行?:doge:
    robincc
        22
    robincc  
       2019-01-06 06:38:40 +08:00
    @CivAx 能否请问下是什么公司?
    knoxrd
        23
    knoxrd  
       2019-01-06 10:50:50 +08:00   1
    @hlwjia 在美国以我目前的了解,绝大多数软件外包的公司都是有版本控制和 CICD 的。
    hlwjia
        24
    hlwjia  
    PRO
       2019-01-06 11:47:57 +08:00
    @knoxrd 嗯嗯 欧美都比较注重质量
    xwbz2018
        25
    xwbz2018  
       2019-01-06 13:22:16 +08:00
    实际上,外包公司人员流动大,就需要 git 之类的工具管理,不然离职前把代码一删,谁知道是谁什么时候删的
    jamiefang
        26
    jamiefang  
    OP
       2019-01-06 13:37:44 +08:00
    @xwbz2018 不是都按“人天”卖给甲方吗?甲方如果不差钱呢?
    xwbz2018
        27
    xwbz2018  
       2019-01-06 13:48:21 +08:00
    @jamiefang 不是讨论代码部分嘛。甲方又不傻,时间到了功能没完成半夜都叫你起来嗨。而且这样不是对代码质量有很好的把控吗(追究责任)
    myliyifei
        28
    myliyifei  
       2019-01-06 14:10:21 +08:00 via Android
    那只是你们的外包而已,我们的外包还教客户敏捷呢
    fetich
        29
    fetich  
       2019-01-06 17:19:08 +08:00
    @CallMeReznov 压缩包 + 命名版本后缀 + QQ
    CallMeReznov
        30
    CallMeReznov  
       2019-01-06 17:54:56 +08:00
    @fetich #29 ....你这样说...我接我们开发的发布版本连版本号都没有的.直接 EXEQQ 传的...岂不是比这种外包更 LOW
    我跟他们说如果二进制文件更新不大就弄个 SVN 之类的搞控制一下 一年了也没人听我说搞一下.
    ritaswc
        31
    ritaswc  
       2019-01-06 18:18:29 +08:00
    用 git 的,我们公司被我强推 git,使用 gitlab 自己搭建代码仓库,搭建好了后,DevOps 全是用 PHP 写的脚本,运维不会写 Python
    julyclyde
        32
    julyclyde  
       2019-01-07 10:04:25 +08:00
    @ritaswc 不会写 python 倒不奇怪,问题是运维居然会写 php ??
    shawndev
        33
    shawndev  
       2019-01-07 10:05:54 +08:00
    中原银行的外包开发用到了楼主说的这些技术,然而技术能力依然菜的一逼。
    weizhiyao008
        34
    weizhiyao008  
       2019-01-07 10:05:57 +08:00
    是的,我们还在用 vss,git 仅仅用来做我个人的代码管理
    uleh
        35
    uleh  
       2019-01-07 10:53:40 +08:00
    你们这说的。。好像外包公司都是皮包公司似的
    我司也是外包+合作开发模式,目前项目是 Git+Maven+Jenkins+Redmine
    做过华为的单子,感觉华为(部分项目组)的质量管理和过程管理还不如我司
    famensaodiseng
        36
    famensaodiseng  
       2019-01-07 10:55:14 +08:00
    楼上竟然说外包人员不会 git。。。不是外包的都看不下去了。
    Xbluer
        37
    Xbluer  
       2019-01-07 11:13:45 +08:00 via iPhone
    你们听说过 clearcase 吗? IBM 的
    wjl4107336
        38
    wjl4107336  
       2019-01-07 11:30:47 +08:00
    每隔几周,就会出现一个 diss 外包的帖子
    quickma
        39
    quickma  
       2019-01-07 11:40:55 +08:00
    有一些自建技术团队的,都不一定用 ci/cd 和 devops,外包更加,速度就是一切
    ritaswc
        40
    ritaswc  
       2019-01-07 11:58:16 +08:00
    @julyclyde #32 不是运维写 PHP,是我写的,运维不会打代码
    catcoder
        41
    catcoder  
       2019-01-07 12:08:50 +08:00
    外包也有很多种啊,有的很正规,有的就是草台班子,不一样的。我们的项目都是长期维护的,不可能很随意,版本控制、稳定性和数据安全是必须的。
    CFO
        42
    CFO  
       2019-01-07 12:09:58 +08:00 via Android
    @airyland tw 还是 18M ?
    huclengyue
        43
    huclengyue  
       2019-01-07 12:13:29 +08:00 via Android
    @hlwjia 很多外包公司都是这样的。。
    jamiefang
        44
    jamiefang  
    OP
       2019-01-07 13:51:00 +08:00
    @x7395759 #39
    hunter2015
        45
    hunter2015  
       2019-01-07 14:35:37 +08:00
    打包整个 tomcat 的路过
    jamiefang
        46
    jamiefang  
    OP
       2019-01-07 14:41:08 +08:00
    @hunter2015 #45 可以具体讲讲你们的实践吗?想多了解一些,谢谢~
    Donne
        47
    Donne  
       2019-01-07 14:58:22 +08:00
    @ritaswc 脚本都不会写的运维,要他来何用
    lengziyu
        48
    lengziyu  
       2019-01-07 15:11:59 +08:00
    16 年-17 年在外包公司用的 svn,正在尝试投入使用 git,搭的内部 gitlab
    lfzyx
        49
    lfzyx  
       2019-01-07 17:13:55 +08:00
    @ritaswc 不会写代码的运维真不常见,难道是 10 年经验的运维经理?
    hellowes
        50
    hellowes  
       2019-01-07 17:43:07 +08:00
    有的互联网公司代码质量还不如好的外包公司呢,不能一概而论,外包有分很多种的
    leekafai
        51
    leekafai  
       2019-01-07 17:51:39 +08:00
    git 是工具,不需要自然不用,需要的自然用
    hilbertz
        52
    hilbertz  
       2019-01-07 18:04:16 +08:00
    外包的项目周期都很短,人员短缺,谁还有空搞 devops,当然是哪个方便用哪个
    duan602728596
        53
    duan602728596  
       2019-01-07 18:09:33 +08:00
    这是外包被黑的最惨的一次了
    passerbytiny
        54
    passerbytiny  
       2019-01-07 18:17:25 +08:00   1
    首先,你要先给外包加个限定词。外包有很多中的,华为研发外包、华为现场外包、对日外包、类印度外包、国内面向行业的专业外包、小产品外包……。

    华为研发外包是按照 CMMI5 的级别去做质量控制的;对日外包要评审到代码的每一行;类印度外包我没涉及过,但是能出产硅谷 CEO 的,CMMI5 估计也是必要条件;国内专业外包走大单子,ISO9000、CMMI5 最少要做做样子:以上这些,要讨论的是什么情况才是要一把梭的紧急情况,绝对不会讨论要不要一把梭。

    小产品外包,基本看老板。
    jamiefang
        55
    jamiefang  
    OP
       2019-01-07 18:20:58 +08:00
    @passerbytiny #54 给大佬点赞
    hc181533609
        56
    hc181533609  
       2019-01-07 18:35:53 +08:00 via Android
    是否外包不能完全决定用什么,技术如何,外包有辣鸡,非外包也有辣鸡,一言以蔽之,不客观不了解情况的评价,愚蠢的气息,误导人啊。
    no1xsyzy
        57
    no1xsyzy  
       2019-01-07 19:27:53 +08:00
    就直觉来说,外包完全应该用 git,把需求文档以类似 org-mode 的形式组织,完成一个点一个 commit 的同时修改需求文档把完成的功能点标记上,比 trello 什么的都好用,完成度直接和代码绑定
    实际上如果有相应的工具就更好了,比如从一个 repo 的文档里生成进度报告和 PM 的若干指标。
    ABoyL
        58
    ABoyL  
       2019-01-07 22:57:29 +08:00
    不带这么黑的吧。。。。用
    iixy
        59
    iixy  
       2019-01-07 23:30:11 +08:00 via iPhone
    被你们说的吓到,外包有那么可怕吗。我一个自学的,用 git 用 maven 遵循驼峰命名遵循 restful 写方法注释,是不是可以把自己夸上天了
    mafeifan
        60
    mafeifan  
       2019-01-07 23:36:35 +08:00 via Android
    我就是在外包公司上班,我们项目全部使用 git。浏览器一律使用 Chrome。 也用 docker。用 360 的一律开除。
    lzj307077687
        61
    lzj307077687  
       2019-01-08 09:02:21 +08:00
    之前待的外包公司用 gitlab
    hjq98765
        62
    hjq98765  
       2019-01-08 11:51:15 +08:00
    不可能不用 git 吧,这是得多业余?我一个非计算机科班的,写毕业论文的代码都知道用 git
    manr
        63
    manr  
       2019-01-08 12:51:36 +08:00   1
    我是在外包公司,cmmi3,甲方是某国企的事业部。说下我们的大致流程,主要是 gitlab+confluence+jira+jenkins,我们每个开发都有自己的 dev 分支,开发自测+写 confluence 文档,合到总 dev 分支会 jenkins 集成打包上传到 ftp 服务器,然后测试 ftp 拉包测试,jira 反馈 bug,我们这边测试通过之后把总的 dev 合到 master 分支,提交到甲方测试,然后甲方核对 jar 包信息、几轮测试、预上线、上线,出了问题就两边 pmo 推锅。
    gouchaoer
        64
    gouchaoer  
       2019-01-08 18:57:27 +08:00 via Android
    @ritaswc 我 tm 也是用 php 写了一些运维相关的代码,比如 gitlab 的备份处理;用 gitlab 的 api 做一些处理;邮件 imap/smtp 啥的,还有针对公司用户用 iptables 做 ip 白名单啥的乱七八糟的,Jenkins 和 registry 啥的也需要弄弄。。。shell 是在太难了,php 写太 jb 快了。。。告诉你一个诀窍,用好 exec 调用,这个函数有个蛋疼的地方是把 stderr 丢掉了,所以调用命令是要这样:exec("command balabala 2>&1", $o,$r),检查 return code 看命令成功与否,检查 stdout 看命令输出,好用

    如果你有一些并发命令调用需求,试试 symfony/process 这个封装的 proc_open 函数
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2961 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 40ms UTC 13:14 PVG 21:14 LAX 05:14 JFK 08:14
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86