例如开发这边有个 war 包,想要上线直接发给运维的同事这样不够吧。。 另外,打包成 rpm 这个想法怎么样呢?
1
HypoChen 2016-09-01 18:27:00 +08:00 1
docker image
|
2
mcfog 2016-09-01 19:50:10 +08:00
“有个 war 包”
第一步就不对了 建议搜索“持续集成” "自动化部署" |
3
ericFork 2016-09-01 19:54:02 +08:00 1
建议用 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 1
现在很多公司都在用 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 1
80%的服务跑在容器里面
基本链路是 : 打包成 image -> 传给测试测试 -> build run 部署 jenkins 等工具基本实现了自动化 |
21
lcc4376 2016-09-02 11:02:49 +08:00
git push origin master
|
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 了,再多一步部署到运维的服务器不行吗...
|