Jenkins部署jar文件到节点服务器

Jenkins做持续集成非常好用,应用越来越多,单机资源不够使用,是时候研究下分布式使用了。

目的

提交代码到git,让jenkins自动拉取代码,打包成jar,然后分发到另一台机器,并允许jar。
假设主节点为A 从节点为B,A上部署了jenkins

前提

  • 机器都安装jdk
centos安装open-jdk8
yum install -y java-1.8.0-openjdk-devel

slave节点为linux平台

1. 节点配置
  • 系统管理--》管理节点--》新建节点
  • 启动方法: Linux 选择 Launch slave agents via SSH
  • Host Key Verification Strategy: Non verifying Verification Strategy(对应Credentials为用户名/密码方式)
image
  • master节点的配置可以在节点管理中或者在系统管理--》系统设置
  • 用法:
    • 尽可能的使用这个节点,默认的,表示job会随机的使用可以使用的节点
    • 只允许运行绑定到这台机器的Job,表示job会到指定机器运行
配置验证方式
A机器执行 ssh-keygen 然后一直回车
执行 ssh-copy-id 用户名@ip地址
如
ssh-copy-id root@123.4.4.22
使得A机器可以访问B机器
然后把A机器的私钥添加到 验证管理

高级配置

比如修改java path路径


image.png

image.png
image.png
2. 节点运行结果
  • 大致步骤: 通过节点配置的credentials连接到slave服务器---》输出当前用户的环境变量---》检查节点服务器java版本---》开启sftp传输slave.jar到节点服务器的工作目录--》java -jar启动节点服务器上的slave进程

    image
  • 当标签和服务器名称一样时这里不会显示标签

    image
3. job配置
  • General中勾选:Restrict where this project can be run

  • 输入节点的名称或标签(jenkins所在机子默认节点名称master),从而关联job到节点服务器。注意:下拉框选中节点名称或标签时末尾会有空格需要手动去掉该空格。

    image
4. job运行结果
  • 节点服务器的job工作目录:节点配置的远程工作目录/workspace/

    image

slave节点为windows平台

1. 节点配置
  • Launch method: windows 选择 Launch slave agent via java Web Start
2. 运行节点
  • 方式一 Launch agent from browser: 点击Launch图标下载slave-agent.jnlp---》拷贝slave-agent.jnlp到配置的远程工作目录---》双击运行文件(会检测你本地的java版本是否合适);或者直接输入:javaws D:\jenkins-workspace\slave-agent.jnlp
  • 方式二 Run from agent command line
image
  • JNLP(Java Network Launching Protocol,java网络加载协议 )是java提供的一种可以通过浏览器直接执行java应用程序的途径,它使你可以直接通过一个网页上的url连接打开一个java应用程序。
  • javaws命令运行.jnlp文件,javaws -viewer在java控制面板中显示高速缓存查看器,可看到客户端已经安装的webstart应用程序

我的配置


image.png
image.png

启动shell

BUILD_ID=DONTKILLME
echo "当前路径:"
pwd

# 定义变量
appName="zhiyuan-1.0.0.jar"
jenkinsDir="/home/jenkins/workspace/zhiyuan/target/$appName"
runDir="/home/zhiyuan"
appDir="/home/zhiyuan/$appName"

mkdri runDir

echo "停止应用"
PID=$(ps -ef | grep  $appName | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then
    echo "应用已经是停止状态"
else
    echo kill $PID
    kill $PID
fi

echo "移动应用目录"
rm -rf $appDir
cp $jenkinsDir $runDir

echo "启动应用"
cd $runDir
nohup java -jar $appDir > log.log &
echo  "启动成功"

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,539评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,911评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,337评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,723评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,795评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,762评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,742评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,508评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,954评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,247评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,404评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,104评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,736评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,352评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,557评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,371评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,292评论 2 352

推荐阅读更多精彩内容

  • 安装Jenkins 系统环境:CentOS Linux release 7.3.1611 x86_64 GNU/L...
    Rethink阅读 11,241评论 0 42
  • jenkins分布式的作用 当一个持续集成系统非常庞大的时候,一台持续集成系统是无法完成大批量的job的,所以利用...
    幽灵小子阅读 4,840评论 0 3
  • Jenkins的分布式构建,在Jenkins的配置中叫做节点,分布式构建能够让同一套代码或项目在不同的环境(如:W...
    Ven415阅读 1,436评论 0 0
  • Jenkins的分布式构建,在Jenkins的配置中叫做节点,分布式构建能够让同一套代码或项目在不同的环境(如:W...
    Cassie测试路阅读 8,681评论 3 7
  • 题目1:如何判断一个元素是否出现在窗口可视范围(浏览器的上边缘和下边缘之间,肉眼可视)。写一个函数 isVisib...
    柚丶稚橙熟时阅读 172评论 0 0