Linux服务器环境部署系列07

基础组件安装:

一、配置Jenkins持续部署

何为持续部署,顾名思义。就是通过前期简单的配置使之能持续自动地完成测试、构建、部署等一系列步骤。如果想具体了解的话可以参考阮一峰大神的这篇文章http://www.ruanyifeng.com/blog/2015/09/continuous-integration.html

二、背景介绍

东家有这么一个项目,该项目涉及到四个模块,并且依次存在一定的依赖关系,然后都是通过git工具进行版本控制管理,所以在编译打包的时候,建议最好是遵循依赖关系进行顺序打包,不然有可能会出现编译失败不通过的情况。
项目依赖关系:


image.png

三、配置步骤

3.1、左侧导航栏选择【新建】

image.png

3.2、输入item名称(这里以git-workbench-main为例,如果出现重名会提示),选择【构建一个自由风格的软件项目】,当然也可以选择【构建一个maven项目】,我通常习惯第一种。

image.png

3.3、选择部署节点(这里默认选择master节点就行了,如果配置了多个节点,然后又需要构建到其他节点那么这个地方修改一下就可以了)

这里需要特别说明一下,请允许我举个栗子。

a>假设目前有台机器A【10.0.4.12】,如果A机器安装了jenkins,然后应用(tomcat应用或者dubbo服务)也需要部署到A机器,则相当于只有一个节点【master】(即单节点),这里填master即可。同时A机器需要配套安装JDK环境(运行java程序),Maven环境(编译打包),git环境(拉取仓库代码)。

b>对于上述第一种单节点环境,如果我们的应用恰巧也是单节点部署,那不会有什么问题;但是现实问题显然不会这么简单,如今的互联网应用基本都要支持高可用(然而要支持高可用,集群肯定是少不了的),假设现在有两台集群的话,机器A【10.0.4.12】和机器B【10.0.4.13】,倘若采用第一种方案,那么就需要机器B也要安装jenkins,这样一来机器一多的话就需要每台机器都装上jenkins,显然有些繁琐。于是乎jenkins【从节点】配置就应运而生。

有了【从节点】的概念之后,那么我们就可以这样做了,只在其中一台机器上安装jenkins,比如在机器A上安装jenkins,机器B作为jenkins的【从节点】机器(当然从节点机器肯定也需要安装jdk、maven、git基本环境,其实这样一来好像也没简便多少,只是不用再装一个jenkins而已了),然后就可以使用jenkins打包将项目构建到从节点机器了。关于从节点的配置后面会涉及到,这里先卖个关子。

image.png

3.4、添加git仓库,如果是多项目,需要安装Multiple SCMs Plugin插件(直接在管理插件里面搜索安装即可),单个项目直接使用选择Git就行。

image.png

3.5、继续添加项目(还是添加git),其他照旧。

image.png

3.6、添加拉取git代码的凭证

image.png

3.7、配置git凭证信息,配置完保存即可

image.png

3.8、什么都不用配置,默认就可以

image.png

3.9、配置前置步骤(一般用于编译打包需要依赖的项目)

image.png

3.10、配置maven编译打包命令和指定pom.xml文件的路径

image.png

3.11、配置编写好的shell部署脚本,(需要注意前面需要加上export BUILD_ID命令,不然jenkins会自动kill掉衍生进程,大家可以试一下,jenkins显示构建成功,但是实际使用ps查进程的时候发现进程不存在。)

image.png

3.12、关于jenkins自动kill掉衍生进程的问题请参考文章《jenkins中通过execute shell启动的进程会被杀死的问题》

http://blog.csdn.net/zhengxu189891/article/details/18710155

3.13、完整的shell部署脚本(deploy_git_workbench_main.sh ):

基本思路:判断jenkins打包是否成功,杀进程,备份老的部署包,拷贝新的的部署包,起服务。

#!/bin/bash
sourcejar=/var/lib/jenkins/workspace/git-workbench-main/lms-workbench/deploy/target/deploy-1.3.0-assembly.tar.gz
jarname=deploy-1.3.0-assembly.tar.gz
target=/data/program/lms-workbench
errorlog=/data/logs/jenkins/error_dubbo.log
keyword="/data/program/lms-workbench"

echo "start check jar is exits?"
echo "$sourcejar"
# 判断 jenkins 打包是否成功,target目录是否存在
if [ ! -f "$sourcejar" ]
then
   echo "jar is not exists" >>$errorlog
   exit 0
fi

#stop old dubbo server

#compel close dubbo server
pid= ps aux |grep $keyword |grep -v grep |awk '{print $2}'
if [  -n "$pid" ]
echo $pid
then
  echo ========kill dubboservice begin==============  
  echo $pid  
  kill -9 $(ps aux |grep $keyword |grep -v grep |awk '{print $2}')
fi

# enter into dubbo servier diretory
cd $target

#delete old file
\rm -r deploy-1.3.0
\rm $jarname

#copy new file to diretory
cp $sourcejar ./
tar -zxvf $jarname

sleep 5

# start dubbo server
sh /data/program/lms-workbench/deploy-1.3.0/bin/restart.sh

echo "=== start dubbo service"

到这里,使用jenkins进行项目的构建基本就可以了,下一篇文章会介绍从节点和SSH免密登录的配置方法,敬请期待.......

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

推荐阅读更多精彩内容