文档章节

jenkins自动部署

fifadxj
 fifadxj
发布于 2016/04/15 14:16
字数 450
阅读 161
收藏 7

假设:

  • 一台SVN服务器
  • 一台装了jboss的服务器
  • 一台服务器做自动部署

步骤:

动部署服务器上装jenkins

  • http://www.jenkins.io下载jenkins.war,放到自动部署服务器上~/ci/
  • 设置JENKINS_HOME,默认为~/jenkins/
  • 启动jenkins 
nohup java -jar jenkins.war --httpPort=8888 >> ~/ci/jenkins.log 2>&1 &

        可访问外网用在线方式:系统管理->管理插件->可选插件->安装SSH plugin

        内网用离线方式:下载 ssh.hpi http://updates.jenkins-ci.org/latest/ssh.hpi ,改名为ssh.jpi,放入$JENKINS_HOME/plugins/


  • 重启jenkins使插件生效 http://x.x.x.x:8888/restart,重启后在add post-build step中将可以看到remote ssh选项
  • 配置jenkins使用的jdk,maven,remote ssh等

配置jenkins服务器和java应用服务器之间的public key authentication ssh,用于免密码scp

  • 在jenkins服务器~目录下生成公私钥对
ssh-keygen -t rsa #生成公私钥对 ~/.ssh/id_rsa, ~/.ssh/id_rsa.pub
  • 把jenkin服务器上生成的公钥~/.ssh/id_rsa.pub复制到java应用服务器的~/.ssh目录
  • 在java应用服务器上,把公钥加入可信列表
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  • 设置权限
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
#chmod 600 ~/.ssh/id_rsa
  • 删了java应用服务器上的公钥

rm ~/.ssh/id_rsa.pub

配置jenkins job(这里是maven project)

  • SVN check out
  • maven build
clean install -Pdev -DskipTests=true
  • execute shell,把war包scp到应用服务器
scp ~/.m2/repository/com/demo/gateway/1.0.0/gateway-1.0.0.war app@172.17.140.11:/home/app/gateway.war
  • execute shell on remote host using ssh,ssh到应用服务器,部署并重启jboss服务器
home_path=/home/app
server_path=$home_path/servers/jboss
deploy_path=$server_path/standalone/deployments

cd $deploy_path
rm -rf gateway.war
mkdir gateway.war
cd gateway.war
cp $home_path/gateway.war ./
$JAVA_HOME/bin/jar xvf gateway.war
rm gateway.war

nohup $server_path/bin/xxx.sh stop > /dev/null 2>&1 &
sleep 5
nohup $server_path/bin/xxx.sh start > /dev/null 2>&1 &


现在,只要在jenkins上执行job就能进行自动部署了

© 著作权归作者所有

共有 人打赏支持
fifadxj
粉丝 5
博文 28
码字总数 16887
作品 0
浦东
高级程序员
Jenkins+Maven+SVN搭建自动部署,自动测试环境

《目录》 一、安装Jenkins 二、配置Jenkins 三、自动编译 四、自动测试 五、自动部署 一、安装Jenkins 地址http://mirrors.jenkins-ci.org/下载适合的Jenkins版本。 Windows最新稳定版的Jen...

筱飞
2016/06/24
598
0
gitlab+jenkins+maven持续集成自动化部署平台

背景:为了改变目前手工发布项目的流程烦锁,耗时,容易出错,浪费人力物力财力,低效的状况,搭建基于docker容器化的git+jenkins+maven持续集成自动化部署平台,实现从代码提交到生产部署的...

xiejunbo
2017/10/26
0
0
从0开始搭建自动部署环境(续)

从0开始搭建自动部署环境(续) 前言 上一篇从0开始搭建自动部署环境虽然环境搭建起来了,但是配置少了一部分步骤。本来应该写到上一篇中,但是这样做篇幅过长了。另外,此篇会使用自动部署一...

五毛程序员
2017/11/27
0
0
Jenkins+tomcat从编译到部署

环境: 所有操作都是基于上一篇文章Gitlab+Jenkins实现自动部署实现 自动部署的话其实也就是一个触发器的设置,同样参考上一篇文章! 一、在gitlab上创建一个仓库 具体操作参考:Gitlab+Jenk...

Jy_BigBoss
08/06
0
0
JAVA项目如何通过Docker实现持续部署

本篇实操性的案例讲解——JAVA项目如何通过Docker实现持续部署(只需简单四步), 即:开发通过git push上传代码,经Git和Jenkins配合,自动完成程序部署、发布,全程无需运维人员参与。 这是一...

菜鸟东哥
07/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

[雪峰磁针石博客]软件测试专家工具包1web测试

web测试 本章主要涉及功能测试、自动化测试(参考: 软件自动化测试初学者忠告) 、接口测试(参考:10分钟学会API测试)、跨浏览器测试、可访问性测试和可用性测试的测试工具列表。 安全测试工具...

python测试开发人工智能安全
今天
2
0
JS:异步 - 面试惨案

为什么会写这篇文章,很明显不符合我的性格的东西,原因是前段时间参与了一个面试,对于很多程序员来说,面试时候多么的鸦雀无声,事后心里就有多么的千军万马。去掉最开始毕业干了一年的Jav...

xmqywx
今天
2
0
Win10 64位系统,PHP 扩展 curl插件

执行:1. 拷贝php安装目录下,libeay32.dll、ssleay32.dll 、 libssh2.dll 到 C:\windows\system32 目录。2. 拷贝php/ext目录下, php_curl.dll 到 C:\windows\system32 目录; 3. p...

放飞E梦想O
今天
0
0
谈谈神秘的ES6——(五)解构赋值【对象篇】

上一节课我们了解了有关数组的解构赋值相关内容,这节课,我们接着,来讲讲对象的解构赋值。 解构不仅可以用于数组,还可以用于对象。 let { foo, bar } = { foo: "aaa", bar: "bbb" };fo...

JandenMa
今天
1
0
OSChina 周一乱弹 —— 有人要给本汪介绍妹子啦

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子 :分享水木年华的单曲《中学时代》@小小编辑 手机党少年们想听歌,请使劲儿戳(这里) @须臾时光:夏天还在做最后的挣扎,但是晚上...

小小编辑
今天
68
8

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部