设为首页 收藏本站
查看: 1576|回复: 0

[经验分享] jenkins安装配置

[复制链接]

尚未签到

发表于 2017-6-6 08:16:32 | 显示全部楼层 |阅读模式
一.Jenkins简介
Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成编程可能。Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工具,功能包括:
1.持续的软件版本发布/测试项目。
2.监控外部调用执行的工作。
今天我们主要讲持续的软件版本发布,即:项目的“自动化”编译、打包、分发部署。

二.Jenkins与Hudson的关系
Hudson是由Sun 开发的一个非常流行的开源的基于Java的持续集成工具,Sun被Oracle收购之后,Jenkins从Hudson项目复刻出来,现在Jenkins和Hudson是两个独立的项目。

三.Jenkins官网地址:https://jenkins.io/

四.系统要求
JDK
JDK 1.5 或以上
Memory
2 GB RAM (推荐)
Disk Space
没有最起码的要求。需要注意的是,因为所有的构建将保存在 Jenkins 机器上,它必须确保有足够的磁盘空间可用于构建存储。
Operating System Version
Jenkins可以安装在Windows, Ubuntu/Debian, Red Hat/Fedora/CentOS, Mac OS X, openSUSE, FReeBSD, OpenBSD, Gentoo 系统上
Java Container
WAR文件可以在支持 Servlet2.4/JSP2.0或更高版本的容器中运行。(一个例子是Tomcat 5)。


五.Jenkins安装及启动
1.下载
DSC0000.jpg
点击“Download Jenkins”,可以选择下载war或者zip,如果不想最新版本,则可以点击“Past Releases”去选择旧的版本进行下载。
2.如果下载的是war包,则将war放到tomcat下,启动tomcat,通过“http://ip:端口/jenkins”就可以访问jenkins了。如果下载的是zip压缩包,则为安装文件,这里不详述。
我这里配置的地址为: http://192.168.6.123:9000/jenkins/
DSC0001.jpg
这即是jenkins的默认初始化页面

六.Jenkins主目录
Jenkins需要一定的磁盘空间来进行构建和保持档案,默认路径可以从“系统管理>>系统设置”的主目录看到,在~/.jenkins目录下,正式环境中最好修改此路径,可通过设置“JENKINS_HOME”环境变量为新的主目录来完成修改。
OS

输出

Windows
设置环境变量 JENKINS_HOME 到你想要的位置。举个例子,可以将其设置为E:\ APPS \詹金斯 E:\Apps\Jenkins
Linux
export JENKINS_HOME =/usr/local/Jenkins 或所希望的位置。
           重启Jenkins服务将可以看到主目录已修改。

修改前的主目录:
DSC0002.jpg

linux修改命令:
用root用户登录
“cd //”回到根目录
编辑profile文件:vi /etc/profile,输入i进入输入模式
在最后加入:export JENKINS_HOME=/application/jenkins
先按ESC键,再输入:wq!进行保存并且退出
保存,退出后执行:source  /etc/profile让配置生效

修改后的主目录:
DSC0003.jpg

DSC0004.jpg
构建后,打包好的war包会存在jobs下对应job下的target目录下。

七.Jenkins用户管理
第一次进入Jenkins页面,并没有用户信息,此时任何人都可以操作Jenkins。当设置了用户权限后,并去除匿名用户权限,则需要登录注册,按各自的权限操作Jenkins。

系统管理 >>Configure Global Security打开用户管理页面
DSC0005.jpg
勾选“启用安全”,选择“Jenkins专有用户数据库”并允许用户注册,选择“安全矩阵”来控制用户权限,第一次给匿名用户最大权限,等建立用户权限信息后再去除。保存设置后,网页右上角将出现登录、注册链接。
DSC0006.jpg
Jenkins里注册的第一个用户默认拥有管理员权限,即管理员账号;之后注册的所有用户都需要管理员通过“安全矩阵”设置权限。

DSC0007.jpg
用户列表查看用户信息。

DSC0008.jpg
“安全矩阵”里添加已经注册的用户,然后给用户指定权限。

八.Jenkins插件的更新及下载
我们项目里用到maven、svn,Jenkins里需要下载对应的插件才可以用。war打包好后,我们需要将war传输到远程服务器上,这将需要     Publish Over FTP或Publish Over SSH插件,我们这里选用ssh。
Jenkins里面已经默认下载了maven和svn的插件,我们可以在“已安装”里面看到。如果构建的时候报maven或svn的错,我可考虑是否是插件的版本问题,可以在“可更新”里更插件。

系统管理>>管理插件

DSC0009.jpg

在“可选插件”中选择Publish Over SSH插件并下载:
DSC00010.jpg

DSC00011.jpg

DSC00012.jpg
九.Jenkins系统设置

系统管理>>系统设置,这里面大部分配置都可以使用默认配置,我们首先需要配置jdk路径、maven路径、SSH Servers,以便后边新建任务时用到。

DSC00013.jpg
指定服务器上已经安装好的jdk。

DSC00014.jpg
因为服务器上没有事先安装好的maven,所以这里我们选择自动安装,安装3.0.4版本的。

DSC00015.png
设置远程服务器连接,并点击“Test Configuration”测试连接。

最后点击保存,完成基本设置。

十.Jenkins新建任务及配置
第一步:点击新建。
DSC00016.jpg

第二步:新建任务,输入项目名,我们的是maven项目,所以选择“构建一个maven项目”。

DSC00017.jpg

第三步:我们将看到一个设置任务详细信息的页面。
DSC00018.jpg

第四步:需要指定源代码管理所在的路径,我们使用的是svn,那么就指定svn仓库的地址,以便构建任务时从仓库获取代码。
DSC00019.jpg
如果出现以上红色的提示,则表示svn连接失败,需要点击“enter credential”输入svn的用户名和密码。
DSC00020.jpg
DSC00021.jpg
如果svn认证成功,则不需要下面的步骤;如果svn认证出错了,我们可以换一种方式添加证书;点击“Credentials”:
DSC00022.jpg

在这里输入svn的用户名和密码,等再次配置svn连接时,就可以使用该证书了。
DSC00023.jpg


如果Jenkins服务器时间与SVN服务器时间不一致,则会出现jenkins构建不能获取到svn最新代码的问题,我们可以在SVN URL加@HEAD后缀后来解决这个问题,Jenkins的SVN插件是支持这个的。
注:HEAD是SVN revision关键字,表示版本库中的最新版本。

Maven暂时忽略测试类:
DSC00024.jpg
第五步:这时我们就可以开始构建了,看看是否能正确的从svn获取代码并正确生成war包
DSC00025.jpg

点击“Console Output”可以看到控制台输出:
DSC00026.jpg

构建成功,可以看到构建打包好的jar和war所在的地址
DSC00027.jpg


十一.Jenkins自动化部署脚本编写
linux命令删除压缩包里的指定文件:zip -d /application/jenkins/workspace/platform/rentcarmall-platform/target/platform.war *.jar
DSC00028.jpg

dos命令删除压缩包里的指定文件(JAR格式是基于ZIP格式的,所以很多处理ZIP文件的工具都适用于JAR,WAR,和EAR文件):7z d D:/jenkins/workspace/platform/rentcarmall-platform/target/platform.war *.jar -r -x!rentcarmall-service-0.0.1-SNAPSHOT.jar -x!rentcarmall-utils-0.0.1-SNAPSHOT.jar

7z d D:/jenkins/workspace/web/rentcarmall-web/target/web.war *.jar -r
7z d D:/jenkins/workspace/web/rentcarmall-web/target/web.war static/* -r
7z d D:/jenkins/workspace/web/rentcarmall-web/target/web.war views/* -r

xcopy D:\jenkins\workspace\adminMgr\vendor D:\jenkins\workspace\adminMgr\dist\vendor\ /s /e /y
DSC00029.jpg
【dos使用7z命令行需要做如下操作:】
1.7z1604-x64.exe安装7-Zip
2.打开7-Zip的安装目录(一般默认在C:\Program Files\7-Zip),复制7z.exe和7z.dll到C:\Windows\System32文件夹下;
3.cmd打开命令行窗口即可使用7z命令


DSC00030.jpg

十二.Jenkins执行webpack打包
十三.

Windows 系统下设置Nodejs NPM全局路径
  Windows下的Nodejs npm路径是appdata(C:\Users\Administrator.PC-20140801TDFH\AppData),很不爽,想改回来,但是在cmd下执行以下命令也无效
  npm config set cache "D:\nodejs\node_cache"
  npm config set prefix "D:\nodejs\node_global"
  最后在nodejs的安装目录中找到node_modules\npm\.npmrc文件
  修改如下即可:
  prefix = D:\nodejs\node_global
cache = D:\nodejs\node_cache
  
  创建webpack环境变量,则可以全局访问webpack
  
  
  Dos命令是单任务运行方式,不能多个命令顺序执行,我们在这里使用call和start连接执行
  
if exist yp.zip (del yp.zip)
call cnpm install
call webpack
call xcopyD:\jenkins\workspace\adminMgr\vendor D:\jenkins\workspace\adminMgr\dist\vendor\/s /e /y
call 7z a yp.zipdist/*



if exist web.zip (del web.zip)【 –del只能删除文件】
if exist dist (rd dist /s /q)【—rd删除文件夹,/s表示删除本目录及子目录,/q表示删除的时候不询问是否删除】
call cnpm install
call webpack
call renD:\jenkins\workspace\business_background\dist\index.html bg.html
xcopyD:\jenkins\workspace\business_background\dist D:\jenkins\workspace\web\rentcarmall-web\target\web\views\/s /e /y
cdD:\jenkins\workspace\web\rentcarmall-web\target\web
if exist web.zip (del web.zip)
7z a web.zip static views
xcopyD:\jenkins\workspace\web\rentcarmall-web\target\web\web.zipD:\jenkins\workspace\business_background

十四.Jenkins进行邮件通知
1.配置SMTP服务认证
A.配置公用的QQ邮箱,开启SMTP服务
设置—》账户—》
DSC00031.jpg
开启SMTP服务,获取授权码。
B.Jenkin系统设置里配置SMTP服务认证
系统管理—》系统设置—》
DSC00032.jpg

DSC00033.jpg
2.使用Jenkins内置的邮件功能
DSC00034.jpg
DSC00035.jpg
针对单个job设置收件邮箱地址,邮箱地址只能固定设置,并且只能在出错时才发送邮件。
3.使用“email extension plugin”插件扩展邮件功能
安装emailextension plugin插件过程不再详述
单个job配置邮件发送
DSC00036.jpg
DSC00037.jpg
DSC00038.jpg
基本都使用默认配置,只需要配置triggers指定触发状态和收件人即可。

【最喜欢你一言不合就打赏的样子啦~~~哈哈哈】

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-384100-1-1.html 上篇帖子: Jenkins入门总结 下篇帖子: Jenkins卸载方法(Windows/Linux/MacOS)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表