文档章节

jenkins自动部署

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

精选30+云产品,助力企业轻松上云!>>>

假设:

  • 一台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就能进行自动部署了

上一篇: 网站设计提纲
下一篇: Redis应用场景
fifadxj
粉丝 6
博文 29
码字总数 19311
作品 0
浦东
高级程序员
私信 提问
加载中
请先登录后再评论。
Jenkins X介绍及安装

Jenkins X 是一个高度集成化的 CI/CD 平台,基于 Jenkins 和 Kubernetes 实现,旨在解决微服务体系架构下的云原生应用的持续交付的问题,简化整个云原生应用的开发、运行和部署过程。 Jenkin...

osc_5dluvsgf
2018/09/12
2
0
jenkins通过 ssh插件部署war包

Jenkins自动化部署调研文档 一 ,文档概述 根据目前公司部署的要求,本文档主要介绍Jenkins通过获得部署war包,实现java项目的自动化部署。 需要告知的一点是: Jenkins常用的情况是,通过集...

chem_dev
2015/05/21
1.3K
0
15分钟在阿里云Kubernetes服务上快速建立Jenkins X Platform并运用GitOps管理应用发布

本文主要介绍如何在阿里云容器服务Kubernetes上快速安装部署Jenkins X Platform并结合demo实践演示GitOps的操作流程。 注意: 本文中使用的jx工具、cloud-environments等做过改造用以适配阿里...

zhaowei121
2019/01/29
71
0
安装Jenkins持续集成服务

一、Jenkins概述 1、Jenkins的作用和用户类型 1)Jenkins的作用 持续集成:将不同的模块或者开发人员开发的功能进行整合; 持续交付:可以重复性更新程序或者软件项目; 持续部署:自动化部署...

osc_h64nkmli
06/09
9
0
Jenkins自动发布持续集成

一:传统互联网网站部署过程 传统的网站部署,大家在运维过程中,网站部署是运维的工作之一,网站部署大致流程大概如下: 需求分析——原型设计——开发代码——提交测试——内网部署——确认...

黑桃103
2019/03/22
1
0

没有更多内容

加载失败,请刷新页面

加载更多

java使用jsoup时绕过https证书验证

java 代码 增加一个工具类 在jsoup获取之前调用此方法 //your codeSSLHelper.init();Connection connect = Jsoup.connect(url).userAgent(USER_AGENT);connect.header("Accept","text/htm......

MeiJM
18分钟前
30
0
6 Message 消息提示框

1 element.js导入message import { Message } from 'element-ui'# 赋值给变量,便于this调用Vue.prototype.$message = Message 2 调用 this.$message.error('错误')类型有:success,w......

书阳
18分钟前
16
0
聊聊rocketmq-client-go的strategy

序 本文主要研究一下rocketmq-client-go的strategy AllocateStrategy rocketmq-client-go-v2.0.0/consumer/strategy.go type AllocateStrategy func(string, string, []*primitive.MessageQ......

go4it
46分钟前
21
0
BuildRun低代码开发教程八节 | 图表和仪表盘展示

课程说明 ▍ 1.1 课程实现功能 本课程为物联网应用平台设计一个仪表盘首页,包括以下内容: 卡片展示设备总数; 卡片展示网关总数; 卡片展示产品总数; 卡片展示产品分组总数; 图表展示各运...

BuildRun团队
49分钟前
23
0
JavaSE第03篇:Java基础语法之运算符和流程控制

本章将会延续JavaSE第02篇,详细讲解Java基础语法中的运算符和流程控制中的顺序结构、分支结构。 第一章:运算符 运算符,简而言之就是运算的符号。 我们通常所理解的运算一般和数学有关系,...

雷哒哒
52分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部