下载安装及注意事项
- jenkins 下载地址 http://mirrors.jenkins-ci.org
这里选择 war 包,下载后直接放到 tomcat 或者 jetty 里,启动服务即可。
第一次打开会提示输入初始密码(用户名为 admin),页面上有提示,跟着提示找到文件打开复制密码,输入即可
Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:
cdb925243ad74b3ca566fd2d248090d8
This may also be found at: C:\Users\A\.jenkins\secrets\initialAdminPassword
进去之后记得改密码,如果忘记改了,下次进入时还需要输入密码,还是去一开始提示的地址找到密码文件,打开复制到 password 文本框即可
- 修改密码步骤 点击用户 —— admin —— 设置 —— 密码 —— 修改后 save
网上资料:
说 jenkins 把网上的协议由 http 改为了 https,但代码里没有改,所以需要手动去修改一下,步骤如下:
修改 http 为 https
系统管理 —— 管理插件 —— 高级标签 —— 下面有个“升级站点” 把里面的 URL 中的 http 改为 https 即可 —— 点击提交
安装插件
系统管理 —— 管理插件 —— 可选插件, 在右上角有个“过滤”的搜索框,输入 maven
,找到 Maven Integration plugin
因网络的原因,加载速度不一(小技巧,过滤会很卡,有可能把页面卡死,可以用 ctrl+F 搜索定位)
勾选后,点击下面的 直接安装
按钮,接下来等待即可。
安装完成后可以在已安装的标签里查看。
此外还需要安装的插件:
- Maven 插件 Maven Integration plugin
- 发布插件 Deploy to container Plugin
- git 插件 Git plugin
- svn 插件 Subversion Plug-in
非必须安装插件:
- 发送邮件插件 Email Extension Plugin
网上资料: jenkins+maven+svn 实现简单的一键发布 - pein_zero 的专栏 - 博客频道 - CSDN.NET
网友发现上面安装可能会失败,
看错误提示信息可以发现
大致的意思就是,文件的签名验证不正确,不管它,注意看这个红色的路径。找到这个文件,打开它
把这个路径复制下来,放到浏览器,就可以把这个插件下载下来。在本地建一个jenkins的关于maven插件的目录,把跟maven相关的插件都放到这个目录下
其它几个插件也一一找到对应的文件,找到url,下载, 然后手动上传插件。上传插件的在:系统管理——管理插件——高级,你可以看到上传插件的地方
注意,上传的顺序,要跟报错的顺序一样,因为这些插件都是有依赖的先后顺序的。 不过即使顺序错了也没关系,系统会提示你的:
插件离线下载地址
插件安装完成后,就可以构建项目了。
配置环境
系统管理 —— Global Tool Configuration —— 配置 JDK、Git、Maven
-
Maven Configuration
两个都下拉选择Settings file in filesystem
,然后在下面的 File Path 里填写:
D:\apache-maven-3.2.3\conf\settings.xml
,如图
-
JDK
填写别名:JDK
把自动安装
前的勾选去掉,在出现的JAVA_HOME
里输入:D:\Program Files\Java\jdk1.7.0_45
-
Git
在Path to Git executable
输入:D:\Program Files\Git\bin\git.exe
如果不用 git,可以点击Delete Git
,即可
-
Maven
填写别名:maven
去掉“自动安装”勾选框, 在MAVEN_HOME
输入:D:\apache-maven-3.2.3
最后点击 save
按钮保存。
构建集成配置
新建 —— Enter an item name 输入一个名字, 选择 构建一个maven项目
, 点击 OK,如图:
接下来到了配置页面,
- 勾选
丢弃旧的构建
,并填写保持构建的天数和最大个数
- 源码管理,这里选择了 Git
在 Repository URL
里填写 git 仓库地址: /e/git_repo/demo/.git
这里我采用了本地仓库,可根据实际情况填写 url 地址,如:https://github.com/alibaba/druid.git
使用网络仓库需要添加 Git 证书 Credentials
,其原理与 git 免密码登录是一样的,都是基于 SSH 形式的,这里不再细说,请自行搜索资料。
接下来是选择一个分支 Branch
,默认就是 */master
,可以根据你的项目实际配置修改。
用 Svn 作为源码库,其操作基本一样,输入 svn 地址,用户名,密码即可
- 构建触发器
网上资料:
build whenever a snapshot dependency is built 当 job 依赖的快照版本被 build 时,执行本 job。
Build after other projects are built:在其他项目构建完成后再进行构建。这里又分三种情况:
1. Trigger only if build is stable:其他项目构建成功
2. Trigger even if the build is unstable:其他项目不稳定
3. Trigger even if the build fails:其他项目构建失败Build periodically 隔一段时间 build 一次,不管版本库代码是否发生变化,通常不会采用此种方式。例如:
0 2 * * *
(每天 2:00 必须 build 一次源码)
Poll SCM:隔一段时间比较一次源代码如果发生变更,那么就 build。否则,不进行 build,通常采用这种方式;
定时检查源码变更(根据 SCM 软件的版本号),如果有更新就 checkout 最新 code 下来,然后执行构建动作。配置如下:*/5 * * * *
(每 5 分钟检查一次源码变化,如果有更新才 build)
在 Schedule中填入* * * * *,代表一分钟监听一次
第一个参数代表的是分钟 minute,取值 0~59;
第二个参数代表的是小时 hour,取值 0~23;
第三个参数代表的是天 day,取值 1~31;
第四个参数代表的是月 month,取值 1~12;
最后一个参数代表的是星期 week,取值 0~7,0 和 7 都是表示星期天。
所以 0 * * * * 表示的就是每个小时的第 0 分钟执行一次构建。
- Build
Root POM
默认填写了 pom.xml
,这里不用修改,
在 Goals and options
里填写 clean package
, 如图:
- 构建后操作 (tomcat 需要添加管理账户)
网上资料:
在 tomcat 中配置用户权限,即添加管理员帐号在 tomcat 的安装目录中,修改
conf/tomcat-user.xml
配置文件,在 `` 节点里添加下面的代码,用户名和密码可自定义
<role rolename="manager-gui" />
<role rolename="manager-script" />
<user username="tomcat" password="tomcat" roles="manager-gui, manager-script" />
点击 增加构建后操作步骤
下拉选择:Deploy war/ear to a container
,多出一个发布选项
WAR/EAR files
是 war 包的相对路径, 这里填写:target/*.war
Context path
是 tomcat 的发布路径,例如:填写了myDemo
, 则访问地址为:http://localhost:8080/myDemo
Containers
发布到的容器,主要可发布到 tomcat、jboss、GlassFish
下拉选择 tomcat7.x
在 Manager user name
填写上面自定义的用户名
在 Manager password
填写上面自定义的密码
在 Tomcat URL
中 tomcat 的访问地址 http://localhost:8689
(有网友说端口号后面不要加 /
)
deploy on failure
:发生错误的时候是否发布到 tomcat
如图:
最后点击 保存
即可。
立即构建
在首页点击项目中最后一列的图标,立即构建项目,或者在项目里的左侧菜单点击 立即构建(Build Now)
,即可实现了持续集成。
查看日志输出或构建错误信息
点击工程的构建版本号 #1
,在左侧菜单选择 Console Output
,就可以查看 控制台输出
,
最下面要出现 Finished: SUCCESS
才说明成功,(我有一次没有把 test 里的单元测试代码删除掉,导致一直失败)
其它注意事项
-
修改 jenkins 的工作空间
默认情况下,jenkins 的工作空间会放到 C:\Users[用户名].jenkins 目录下,
如过想要更改工作空间,我们需要在系统环境变量里面配置 JENKINS_HOME 变量,将该变量指向目标工作空间。
例如:JENKINS_HOME=Z:\jenkins_home
这里需要注意的是,tomcat 启动情况下,jenkins 不会去读 JENKINS_HOME 变量,必须要重启 tomcat。
而重启 tomcat 也是有坑的,如果 tomcat 是通过命令行执行 tomcat/bin/startup.bat 目录启动的,那么单单停掉 tomcat 没用,
必须要将前面提到的命令行一并关闭掉,这时重启 tomcat,jenkins 才会使用 JENKINS_HOME 中配置的目录作为工作空间。
此外,一旦更换工作空间,此前过于 jenkins 的所有配置都将作废。 -
发布容器中,
Add Container
选项中虽然知道tomcat7.x
,但实际上,你选择用 tomcat8.x 依然支持,没有问题 -
如何获取构建脚本里的日志输出信息
资料:
解决方法是使用 jenkins 的 Log Parser 插件,同使用 Git Plugin 一样,在插件管理中找 Log Parser 插件,并添加。添加完毕后,配置 jenkins 中的 Console Output Parsing
rule 的具体规则语法可以使用正则表达式,具体可以参考 Log Parser 插件的文档 http://my.oschina.net/donhui/blog/382592
Parsing Rules File 的配置同上文的配置工作目录具有一样的坑,如果要更新规则,首先要清除 job 中选中的规则,然后删除此处配置的 Parseing Rule,重启 tomcat。
添加完毕后,在 job 的配置页的 Post-Build Actions 部分选中 Console Output parsing
然后进行如下配置:这样我们可以对 buld.bat 中的 error 进行捕获,并且在某次构建过程的 Parsed Console Output 中进行查看
- jenkins 多次 deploy 到 tomcat 导致内存溢出的问题
当短时间内多次对一个项目进行构建操作时,tomcat 会出现内存溢出的错误,java.lang.OutOfMemoryError: PermGen space
解决方法:
在 tomcat 安装目录下,打开 bin 文件夹,window 环境修改 catalina.bat 文件,在文件最前面(注释的结尾)添加下面的代码:
set JAVA_OPTS=-Xms512m -Xmx512m
Linux 环境修改 catalina.sh,在文件开头(cygwin=false
的上面)添加下面的代码:(注意没有 set
,还有添加了双引号 "
)
JAVA_OPTS="-Xms512m -Xmx512m"
其中,-Xms 设置初始化内存大小,-Xmx 设置可以使用的最大内存。
注意: 该方式只能用 startup.bat 启动 tomcat 才可以设置生效,如果是用 windows 的系统服务启动 tomcat 服务,上面的设置就不生效了。
建议: 目前没有更好的办法解决这个问题,所以减少构建频率为最佳的办法。
资料:
错误提示:java.lang.OutOfMemoryError: PermGen space 永久保存内存不足
set JAVA_OPTS=-Xms64m -Xmx256m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m
错误提示:java.lang.OutOfMemoryError: Java heap space 堆空间内存不足
JVM 堆的设置是指 java 程序运行过程中 JVM 可以调配使用的内存空间的设置。
JVM 在启动的时候会自动设置 Heap size 的值,其初始空间(即-Xms)是物理内存的 1/64,最大空间(-Xmx)是物理内存的 1/4。
建议:将-Xms 和-Xmx 选项设置为相同,而-Xmn 为 1/4 的-Xmx 值
当然可根据实际情况进行具体调整。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于