例如开发这边有个 war 包,想要上线直接发给运维的同事这样不够吧。。 另外,打包成 rpm 这个想法怎么样呢?
![]() | 1 HypoChen 2016-09-01 18:27:00 +08:00 ![]() docker image |
![]() | 2 mcfog 2016-09-01 19:50:10 +08:00 “有个 war 包” 第一步就不对了 建议搜索“持续集成” "自动化部署" |
![]() | 3 ericFork 2016-09-01 19:54:02 +08:00 ![]() 建议用 CI 来根据 pull request 打 war 包和部署,另外可以看看 tomcat 的 parallel deployment: http://tomcat.apache.org/tomcat-8.5-doc/config/context.html#Parallel_deployment |
![]() | 4 Mose 2016-09-02 06:19:15 +08:00 要部署的服务器账号给我。。。 |
![]() | 5 jinhan13789991 2016-09-02 08:40:57 +08:00 我们运维开发是同一个人 |
![]() | 7 zonga OP @mcfog 我描述不仔细,其实这个 war 包就是我们的 jenkins 已经构建好的,但是运维那边可没有 jenkins 啊。。 |
![]() | 8 zonga OP @ericFork CI 是开发自己的 CI ,运维没有,感觉让他们自己安装一个又不太现实。 tomcat 文档正要看,多谢提供思路。 |
![]() | 9 zonga OP |
![]() | 10 virusdefender 2016-09-02 09:08:07 +08:00 谁开发谁运维。。 |
![]() | 11 zonga OP @virusdefender 谁污染谁治理,,哈哈 |
![]() | 12 reeco 2016-09-02 09:18:19 +08:00 via Android 把代码提交到 gitlab 上,点击部署, ok |
![]() | 14 pncltp 2016-09-02 10:03:53 +08:00 via iPhone ![]() 现在很多公司都在用 docker ,搞自动化部署。 |
![]() | 15 xderam 2016-09-02 10:05:43 +08:00 @zonga 后续的问题是指什么呢?如果应用上没有什么需要,一个 war 足以。除非你们的运维不知道 war 是干嘛的,或者不知道 war 的一些机制。你打成 rpm 也是一样的,对了!回滚这部分咋考虑的? |
![]() | 16 taresky 2016-09-02 10:08:08 +08:00 我司也是谁开发谁运维。 |
![]() | 17 9hills 2016-09-02 10:10:21 +08:00 支持谁开发谁测试谁运维。不分 RD QA OP ,但是要求大家都是 full stack |
![]() | 18 xcodebuild 2016-09-02 10:11:27 +08:00 打包成 rpm 不如 build 成 docker image |
19 sudoz 2016-09-02 10:12:42 +08:00 CI 持续集成 |
![]() | 20 Nexvar 2016-09-02 10:14:16 +08:00 ![]() 80%的服务跑在容器里面 基本链路是 : 打包成 image -> 传给测试测试 -> build run 部署 jenkins 等工具基本实现了自动化 |
21 lcc4376 2016-09-02 11:02:49 +08:00 git push origin master |
div class="fr"> 22 salmon5 2016-09-02 11:35:02 +08:00 请问各位,在自动化部署过程中,比如 java 项目,生产环境怎么实现业务不中断的? 切走流量-->重启 tomcat-->切回流量吗? |
23 ma125125t 2016-09-02 11:38:39 +08:00 我们这里开发自己发布 server ... |
24 yatesun 2016-09-02 11:42:05 +08:00 我们是 git 提交完代码以后,让专门负责运维的人,执行一下 shell 代码,批量从多台机子上面 pull 代码。 第一次的话,直接要服务器密码自己配 |
![]() | 26 aveline 2016-09-02 14:42:21 +08:00 吐槽一句说打 Docker image 的你们知道 Tomcat 本身就是个容器么 ... |
![]() | 27 MarioxLinux 2016-09-02 14:50:32 +08:00 @salmon5 生产环境要有主备,先更新备机再更新主机, Jenkins+ansible 实现自动部署, ansible 将应用发布到服务器之前先将原有 webapps 里的包以包名和日期结合的方式备份起来 rsync 到备份服务器,然后重启 tomcat (最好注册成 service 或 systemctl ) |
![]() | 30 Infernalzero 2016-09-02 15:06:55 +08:00 @salmon5 是这样没错,通过 nginx 更改 upstream 来搞 |
![]() | 31 smileawei 2016-09-02 15:09:28 +08:00 用 git 开发把代码推送到 master 分支。然后在服务器 更新代码。编译程序。复制编译好的程序到服务目录。修改配置文件。重启 tomcat 。当然上面的过程用 shell 实现。 |
![]() | 34 ytmsdy 2016-09-02 17:48:48 +08:00 都是自己动手丢上线的,丢给运维,回头出问题了还是回来找你。 |
35 kangxianpeng 2016-09-02 19:45:52 +08:00 easy |
36 unixbeta 2016-09-03 11:15:15 +08:00 via iPhone 主要看你多大规模,有没有人手, full stack 适合几个人的小公司,没啥流量服务随时可中断,等你到了一定规模,开发,测试,运维这些就必不可少了,人多了一个人一个想法,必须走流程规范。 |
![]() | 37 koalli 2016-09-03 17:42:39 +08:00 你们都用 jenkins 了,再多一步部署到运维的服务器不行吗... |