• 请不要在回答技术问题时复制粘贴 AI 生成的内容
zonga
V2EX  ›  程序员

作为开发部门,大家都是怎么讲项目交给运维部门上线的?

  •  
  •   zonga · Sep 1, 2016 · 6093 views
    This topic created in 3719 days ago, the information mentioned may be changed or developed.

    例如开发这边有个 war 包,想要上线直接发给运维的同事这样不够吧。。 另外,打包成 rpm 这个想法怎么样呢?

    37 replies  •  2016-09-03 17:42:39 +08:00
    Hyponet
    Hyponet
    Sep 1, 2016❤️1
    1
    docker image
    mcfog
    mcfog
    Sep 1, 2016
    2
    “有个 war 包”

    第一步就不对了

    建议搜索“持续集成” "自动化部署"
    ericFork
    ericFork
    Sep 1, 2016❤️1
    3
    建议用 CI 来根据 pull request 打 war 包和部署,另外可以看看 tomcat 的 parallel deployment:

    http://tomcat.apache.org/tomcat-8.5-doc/config/context.html#Parallel_deployment
    Mose
    Mose
    Sep 2, 2016
    4
    要部署的服务器账号给我。。。
    jinhan13789991
    jinhan13789991
    Sep 2, 2016
    5
    我们运维开发是同一个人
    zonga
    zonga
    OP
    Sep 2, 2016
    6
    @HypoChen 多谢,我去查看一下相关文档。
    zonga
    zonga
    OP
    Sep 2, 2016
    7
    @mcfog 我描述不仔细,其实这个 war 包就是我们的 jenkins 已经构建好的,但是运维那边可没有 jenkins 啊。。
    zonga
    zonga
    OP
    Sep 2, 2016
    8
    @ericFork CI 是开发自己的 CI ,运维没有,感觉让他们自己安装一个又不太现实。 tomcat 文档正要看,多谢提供思路。
    zonga
    zonga
    OP
    Sep 2, 2016
    9
    @Mose
    @jinhan13789991 服务器属于自己多好,随便搞。。
    virusdefender
    virusdefender
    Sep 2, 2016
    10
    谁开发谁运维。。
    zonga
    zonga
    OP
    Sep 2, 2016
    11
    @virusdefender 谁污染谁治理,,哈哈
    reeco
    reeco
    Sep 2, 2016 via Android
    12
    把代码提交到 gitlab 上,点击部署, ok
    zonga
    zonga
    OP
    Sep 2, 2016
    13
    @reeco 部署的结果是在开发服务器上构建出一个 war 包,但是后续的问题仍然存在。
    pncltp
    pncltp
    Sep 2, 2016 via iPhone❤️1
    14
    现在很多公司都在用 docker ,搞自动化部署。
    xderam
    xderam
    Sep 2, 2016
    15
    @zonga 后续的问题是指什么呢?如果应用上没有什么需要,一个 war 足以。除非你们的运维不知道 war 是干嘛的,或者不知道 war 的一些机制。你打成 rpm 也是一样的,对了!回滚这部分咋考虑的?
    taresky
    taresky
    Sep 2, 2016
    16
    我司也是谁开发谁运维。
    9hills
    9hills
    Sep 2, 2016
    17
    支持谁开发谁测试谁运维。不分 RD QA OP ,但是要求大家都是 full stack
    xcodebuild
    xcodebuild
    Sep 2, 2016
    18
    打包成 rpm 不如 build 成 docker image
    sudoz
    sudoz
    Sep 2, 2016
    19
    CI 持续集成
    Nexvar
    Nexvar
    Sep 2, 2016❤️1
    20
    80%的服务跑在容器里面

    基本链路是 : 打包成 image -> 传给测试测试 -> build run 部署

    jenkins 等工具基本实现了自动化
    lcc4376
    lcc4376
    Sep 2, 2016
    21
    git push origin master
    salmon5
    salmon5
    Sep 2, 2016
    22
    请问各位,在自动化部署过程中,比如 java 项目,生产环境怎么实现业务不中断的?
    切走流量-->重启 tomcat-->切回流量吗?
    ma125125t
    ma125125t
    Sep 2, 2016
    23
    我们这里开发自己发布 server ...
    yatesun
    yatesun
    Sep 2, 2016
    24
    我们是 git 提交完代码以后,让专门负责运维的人,执行一下 shell 代码,批量从多台机子上面 pull 代码。

    第一次的话,直接要服务器密码自己配
    reeco
    reeco
    Sep 2, 2016 via Android
    25
    @zonga 后续能有什么问题,如果你指的是你的代码造成部署失败,那就只能自己解决
    aveline
    aveline
    Sep 2, 2016
    26
    吐槽一句说打 Docker image 的你们知道 Tomcat 本身就是个容器么 ...
    MarioxLinux
    MarioxLinux
    Sep 2, 2016
    27
    @salmon5 生产环境要有主备,先更新备机再更新主机, Jenkins+ansible 实现自动部署, ansible 将应用发布到服务器之前先将原有 webapps 里的包以包名和日期结合的方式备份起来 rsync 到备份服务器,然后重启 tomcat (最好注册成 service 或 systemctl )
    julyclyde
    julyclyde
    Sep 2, 2016
    28
    @aveline servlet 容器和 linux container 完全两码事好吧!
    aveline
    aveline
    Sep 2, 2016
    29
    @julyclyde 是两回事 ... 但是我总觉得容器里再套个容器怪怪的 ...
    Infernalzero
    Infernalzero
    Sep 2, 2016
    30
    @salmon5 是这样没错,通过 nginx 更改 upstream 来搞
    smileawei
    smileawei
    Sep 2, 2016
    31
    用 git 开发把代码推送到 master 分支。然后在服务器 更新代码。编译程序。复制编译好的程序到服务目录。修改配置文件。重启 tomcat 。当然上面的过程用 shell 实现。
    julyclyde
    julyclyde
    Sep 2, 2016
    32
    @aveline 把 servlet 容器叫成“应用服务器”也行。不过这样又跟 EJB 的重名了?哈哈哈哈……
    wintersun
    wintersun
    Sep 2, 2016
    33
    @aveline 蒸锅里,一楼碗里蒸条鱼,二楼碗里咸鸭蛋,…… 蒸锅是容器,碗也是容器,该干嘛干嘛去,哇卡卡卡
    ytmsdy
    ytmsdy
    Sep 2, 2016
    34
    都是自己动手丢上线的,丢给运维,回头出问题了还是回来找你。
    kangxianpeng
    kangxianpeng
    Sep 2, 2016
    35
    easy
    unixbeta
    unixbeta
    Sep 3, 2016 via iPhone
    36
    主要看你多大规模,有没有人手, full stack 适合几个人的小公司,没啥流量服务随时可中断,等你到了一定规模,开发,测试,运维这些就必不可少了,人多了一个人一个想法,必须走流程规范。
    koalli
    koalli
    Sep 3, 2016
    37
    你们都用 jenkins 了,再多一步部署到运维的服务器不行吗...
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   768 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 127ms · UTC 19:15 · PVG 03:15 · LAX 11:15 · JFK 14:15
    ♥ Do have faith in what you're doing.