jenkins初始化配置

一、安装内容

Jenkins(本文主要安装)、Maven、Git、JDK(这个三个安装过程略

Jenkins与Github配合实现持续集成需要注意以下几点:

①Jenkins要部署到外网,因为内网Github是无法访问到的(走过的坑!),这里我租用的是阿里云的服务器实现。

    ②Jenkins所在的主机需要安装Git,通过Git程序从Github上clone代码

    ③在Jenkins中需要指定Git、Maven、JDK,路子都是相同的。

    ④在Github上使用每一个repository的webhook方式远程触发jenkins构建

    ⑤在Jenkins内关闭“防止跨站点请求伪造”

回到顶部

二、实现过程

1.不使用Jenkins:

  ①我们开发人员需要编写代码,提交到版本控制服务器(Svn、Git)

②我们开发人员需要手动拉取最新代码,构建maven工程,进行打包(war或jar)

③我们开发人员手动部署war或jar至应用服务器

  ④一旦项目上线,bug修改等小改动问题都要重复以上过程

2.使用Jenkins:

  ①同样,业务代码还是需要开发人员来编写并commit或push至版本控制自服务器(SVN、Git)

②通过以上图,我们发现,Jenkins帮我们做了:拉取最新代码、打包、部署

  ③我们开发人员只需专注于:业务代码的编写

  ④一旦项目上线,bug修改等小改动问题,我们开发人员只需提交最新代码即可,另一边的测试或最终用户就能看到最终效果,大大减少我们开发人员的工作量

回到顶部

三、Github仓库准备

鄙人写了一个小demo,用IDEA+Maven构建的SpringBoot的web项目:https://github.com/Simple-Coder/jenkins-demo

回到顶部

四、Jenkins的下载安装

下载地址:https://jenkins.io/download/(下载速度极慢),这里我已经将最新版的war包上传至CSDN下载,亲测可用,下载地址如下:

https://download.csdn.net/download/qq_39947137/11829473

1.Jenkins的war包下载

  由于我是Java开发人员,最喜欢一键部署了,下载Jenkins的war直接丢进tomcat的webapps目录即可完成部署。

  然后找到documentation,get started,这是学习一门新技术的一些套路了:官网---->download---->documentation---->getting started

2.将war包丢进服务器的tomcat/webapps目录,浏览器访问:IP:端口/jenkins

注:第一次安装,这里坑了我好久!!!(vim /root/.jenkins/hudson.model.UpdateCenter.xml)

打开 hudson.model.UpdateCenter.xml

把http://updates.jenkins-ci.org/update-center.json

改成 :(以下其中一个)

http://mirror.xmission.com/jenkins/updates/update-center.json

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

http://mirror.esuni.jp/jenkins/updates/update-center.json

,还是不行的话找到 updates 目录下的 default.json 把里面所有的谷歌地址改成百度的,即将 http://www.google.com/ 替换为 http://www.baidu.com/。输入密码后出现以下界面说明成功。

配置完成出现以下界面说明url配置完成!

 3.推荐插件安装

4.创建用户

 5.实例配置

 6.开始使用

 7.进入首页

   至此、Jenkins的下载安装,完成,下面对Jenkins进行一系列的配置。

回到顶部

五、Jenkins的配置

 1.插件配置

Maven Integration:新建job时有maven项目可以选择;

Deploy to container:将war包部署到tomcat所在的服务器上;

Publish Over SSH:通过ssh推送文件,并可以执行shell命令;

 2.Maven、Git、JDK配置

  点击:“系统管理”------>“全局工具配置”

回到顶部

 六、新建Jenkins任务

1.点击“系统管理”---->“系统设置”,进行ssh配置

2.首页点击:“新建任务”

 3.General配置

 4.源码管理

 5.构建触发器

 6.Github配置WebHook,完成钩子程序的配置

 7.构建环境

启动脚本restart.sh如下:

 restart.sh脚本

echo "stop服务开始"

pidlist=`ps -ef|grep jenkins-demo.jar | grep -v "grep"|awk '{print $2}'`

#ps -u $USER|grep "Java"|grep -v "grep"

if [ "$pidlist" = "" ]; then

        echo "no jenkins-demo pid alive"

else

        echo "jenkins-demo Id list :$pidlist"

        for pid in ${pidlist}

        {

                kill -9 $pid

                echo "KILL $pid:"

                echo "service stop success"

        }

fi

echo "stop服务脚本结束"

echo "start服务脚本开始"

JAVA_HOME=/usr/java/jdk1.8.0_181

dir=/opt/jenkins_jars

cd $dir

echo dir=$dir

jar=$(find /lib -type f -name *.jar)

classpath=$dir/*:$dir/lib/*:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar

echo classpath=$classpath

echo ---------------------------------------------

nohup $JAVA_HOME/bin/java -classpath $classpath -XX:-UseGCOverheadLimit -Xms1024m -Xmx2048m -jar $dir/jenkins-demo.jar  > $dir/log/$(date +'%Y%m%d').log &

echo "start服务脚本结束"

 8.构建

   至此,第一个任务的配置完毕,接下来就是测试了!

回到顶部

七、测试任务

1.立即构建

 2.控制台查看输出

 控制台的输出如下:

3.浏览器访问:http://47.92.236.212:8091/test

 4.IDEA修改该JSP页面,并推送至git仓库

 5.推送github后,触发钩子程序,jenkins自动构建任务

6.浏览器再次访问:http://47.92.236.212:8091/test

 八、总结

  这里需要注意一下,如果只是单单部署war项目就比较简单了,配置如下:

1.deploy to container

 2.配置容器

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