jenkins安装配置

一.Jenkins简介

Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成编程可能。Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工具,功能包括:

1.持续的软件版本发布/测试项目。

2.监控外部调用执行的工作。

今天我们主要讲持续的软件版本发布,即:项目的“自动化”编译、打包、分发部署。

 

二.JenkinsHudson的关系

Hudson是由Sun 开发的一个非常流行的开源的基于Java的持续集成工具,SunOracle收购之后,JenkinsHudson项目复刻出来,现在JenkinsHudson是两个独立的项目。

 

三.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.下载

点击“Download Jenkins”,可以选择下载war或者zip,如果不想最新版本,则可以点击“Past Releases”去选择旧的版本进行下载。

2.如果下载的是war包,则将war放到tomcat下,启动tomcat,通过http://ip:端口/jenkins就可以访问jenkins了。如果下载的是zip压缩包,则为安装文件,这里不详述。

我这里配置的地址为: http://192.168.6.123:9000/jenkins/

这即是jenkins的默认初始化页面

 

六.Jenkins主目录

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

OS

输出

Windows

设置环境变量 JENKINS_HOME 到你想要的位置。举个例子,可以将其设置为E\ APPS \詹金斯 E:\Apps\Jenkins

Linux

export JENKINS_HOME =/usr/local/Jenkins 或所希望的位置。

           重启Jenkins服务将可以看到主目录已修改。

 

修改前的主目录:

 

linux修改命令:

root用户登录

cd //”回到根目录

编辑profile文件:vi /etc/profile,输入i进入输入模式

在最后加入:export JENKINS_HOME=/application/jenkins

先按ESC键,再输入:wq!进行保存并且退出

保存,退出后执行:source  /etc/profile让配置生效

 

修改后的主目录:

 

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

 

七.Jenkins用户管理

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

 

系统管理 >>Configure Global Security打开用户管理页面

勾选“启用安全”,选择“Jenkins专有用户数据库”并允许用户注册,选择“安全矩阵”来控制用户权限,第一次给匿名用户最大权限,等建立用户权限信息后再去除。保存设置后,网页右上角将出现登录、注册链接。

Jenkins里注册的第一个用户默认拥有管理员权限,即管理员账号;之后注册的所有用户都需要管理员通过“安全矩阵”设置权限。

 

用户列表查看用户信息。

 

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

 

八.Jenkins插件的更新及下载

我们项目里用到mavensvnJenkins里需要下载对应的插件才可以用。war打包好后,我们需要将war传输到远程服务器上,这将需要     Publish Over FTPPublish Over SSH插件,我们这里选用ssh

Jenkins里面已经默认下载了mavensvn的插件,我们可以在“已安装”里面看到。如果构建的时候报mavensvn的错,我可考虑是否是插件的版本问题,可以在“可更新”里更插件。

 

系统管理>>管理插件

 

 

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

 

 

九.Jenkins系统设置

 

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

 

指定服务器上已经安装好的jdk

 

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

 

 

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

 

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

 

十.Jenkins新建任务及配置

第一步:点击新建。

 

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

 

 

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

 

第四步:需要指定源代码管理所在的路径,我们使用的是svn,那么就指定svn仓库的地址,以便构建任务时从仓库获取代码。

如果出现以上红色的提示,则表示svn连接失败,需要点击“enter credential”输入svn的用户名和密码。

如果svn认证成功,则不需要下面的步骤;如果svn认证出错了,我们可以换一种方式添加证书;点击“Credentials:

 

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

 

 

如果Jenkins服务器时间与SVN服务器时间不一致,则会出现jenkins构建不能获取到svn最新代码的问题,我们可以SVN URL@HEAD后缀后来解决这个问题,JenkinsSVN插件是支持这个的。

注:HEADSVN revision关键字,表示版本库中的最新版本。

 

Maven暂时忽略测试类:

第五步:这时我们就可以开始构建了,看看是否能正确的从svn获取代码并正确生成war

 

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

 

构建成功,可以看到构建打包好的jarwar所在的地址

 

 

十一.Jenkins自动化部署脚本编写

linux命令删除压缩包里的指定文件:zip -d /application/jenkins/workspace/platform/rentcarmall-platform/target/platform.war *.jar

 

dos命令删除压缩包里的指定文件(JAR格式是基于ZIP格式的,所以很多处理ZIP文件的工具都适用于JARWAR,和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

dos使用7z命令行需要做如下操作:】

1.7z1604-x64.exe安装7-Zip

2.打开7-Zip的安装目录(一般默认在C:\Program Files\7-Zip),复制7z.exe7z.dllC:\Windows\System32文件夹下;

3.cmd打开命令行窗口即可使用7z命令

 

 

 

十二.Jenkins执行webpack打包

十三. 

Windows下的Nodejs npm路径是appdataC:\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命令是单任务运行方式,不能多个命令顺序执行,我们在这里使用callstart连接执行

 

if exist yp.zip (del yp.zip)

call cnpm install

call webpack

call xcopy D:\jenkins\workspace\adminMgr\vendor D:\jenkins\workspace\adminMgr\dist\vendor\ /s /e /y

call 7z a yp.zip dist/*

 

 

 

if exist web.zip (del web.zip) –del只能删除文件】

if exist dist (rd dist /s /q)—rd删除文件夹,/s表示删除本目录及子目录,/q表示删除的时候不询问是否删除】

call cnpm install

call webpack

call ren D:\jenkins\workspace\business_background\dist\index.html bg.html

xcopy D:\jenkins\workspace\business_background\dist D:\jenkins\workspace\web\rentcarmall-web\target\web\views\ /s /e /y

cd D:\jenkins\workspace\web\rentcarmall-web\target\web

if exist web.zip (del web.zip)

7z a web.zip static views

xcopy D:\jenkins\workspace\web\rentcarmall-web\target\web\web.zip D:\jenkins\workspace\business_background

 

十四.Jenkins进行邮件通知

1.配置SMTP服务认证

A.配置公用的QQ邮箱,开启SMTP服务

设置》账户

开启SMTP服务,获取授权码。

B.Jenkin系统设置里配置SMTP服务认证

系统管理》系统设置

 

2.使用Jenkins内置的邮件功能

针对单个job设置收件邮箱地址,邮箱地址只能固定设置,并且只能在出错时才发送邮件。

3.使用“email extension plugin”插件扩展邮件功能

安装email extension plugin插件过程不再详述

单个job配置邮件发送

基本都使用默认配置,只需要配置triggers指定触发状态和收件人即可。

 

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

posted @ 2017-05-05 10:32  凌馨儿郡主  阅读(2074)  评论(0编辑  收藏  举报