【简介】
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
首先保证系统中已经安装了jdk,最好是jdk1.5以上。
切换到jenkins.war存放的目录,输入如下命令:
$ java -jar jenkins.war
如果需要修改端口可以使用如下命令:
$ java -jar jenkins.war--httpPort=8081
然后在浏览器中(推荐用火狐)输入localhost:8081,localhost可以是本机的ip,也可以是计算机名。就可以打开jenkins。
解压tomcat到某个目录,如/usr/local,进入tomcat下的/bin目录,启动tomcat
将jenkins.war文件放入tomcat下的webapps目录下,启动tomcat时,会自动在webapps目录下建立jenkins目录,在地址栏上需要输入localhost:8080/jenkins。
上面两种均为war包的启动方式,还有一种是通过安装jenkins.noarch.rpm来进行启动的方式,可参考以下的资源了解详情:
https://blog.csdn.net/andyzhaojianhui/article/details/73472500 linux下安装及配置jenkins
==================================================
==================================================
【正文】
下面的步骤借鉴了jenkins构建的由gradle管理的项目;
采用了上面通过tomcat部署jenkins.war的启动方式,该方法比较简单且可靠。
-
环境准备
安装JDK:
jdk-8u111-linux-x64.tar.gz;
安装Tomcat:
apache-tomcat-9.0.14.tar.gz;
安装Gradle:
gradle-3.5-all.zip / gradle-3.5-bin.zip 两个均可;
其它安装:
如果项目有其它的环境要求,请自行补充安装,例如maven。
=============================================================================================
-
安装jenkins
- 下载:
地址 https://jenkins.io/download/ ,仅下载war包,如下图:
jenkins.war
- 部署:
将下载好的jenkins.war放进tomcat的webapps目录下:
- 启动:
./.../apache-tomcat-9.0.14/bin/startup.sh;
- 访问:
启动成功后访问localhost:8080/jenkins
==================================================
-
配置jenkins
1. 初始化设置:
(1) Unlock Jenkins
根据页面提示的路径查到password复制到输入框中, 点击继续;
(2) Customize Jenkins
选择Install suggested plugins 安装默认的插件,等待安装完成后操作下一步;
(3) 创建第一个管理用户
按照要求创建一个管理员用户;
[ 存在一个默认的管理用户admin,密码为上方步骤(1)里面的password ]
(4) 实例配置
默认配置即可;
(5) Jenkins is ready!
点击Start using Jenkins,进入jenkins系统页面,开始Jenkins之旅!
2. 系统管理:
进入Jenkins系统后,我们需要做一些配置,能够方便我们顺利的完成后面项目的构建工作,而一般的配置都是在界面左侧的“系统管理”中进行配置,进入“系统管理”后建议按照管理插件->全局工具配置->系统设置顺序配置。
(1) 管理插件:
选择可选插件,找到“Pushlish Over SSH”并勾选,然后点击下方“直接安装”,会出现安装进度,成功后即可退出当前页面。
(3) 全局工具设置(Global Global Security):
这里主要指定JDK和Gradle本地版本的安装位置,方便Jenkins系统指定所配置的环境与本地一致;
- 点击新增后,可将“自动安装”的勾选去掉,指定本地以安装的版本的位置;
- Ant和Maven点击新增后,本地未安装,默认即可;
- 保存。
(3)系统设置:
- 环境变量:
可在项目构建的时候使用,例如配置svn的代码url路径;
- Publish over SSH:
我们将通过SSH Server的方式将项目发布到其它的服务器上,所以还需预先配置对应远程服务器的SSH;
==================================================
-
项目部署
1. 新建任务
点击左侧“新建任务”,先输入任务名称,选择*构建后确定;
2. 配置--General(基本配置)
“丢弃旧的构建”用于设置构建历史保存的天数和数量,视情况设置。
3. 配置--源码管理
作用:从我们项目的git / svn服务器上获取提交的项目代码。
- Git 【我使用了svn进行源码管理,git同理,svn方式配置见下方】
- Subversion
配置该项需要安装有Subversion Plug-in插件(旧版本为Subversion ),如果没有Subversion勾选项,请到管理插件”中安装相应插件,见上方;
- Modules配置
Repository URL:svn的checkout地址;
Credentials:svn账号和密码,如果没有请“添加”;
Local module directory:获取到的svn代码存放在本地的目录位置,默认创建在${workspace}下面,即起始时该输入框中存在一个“.”,也可以自己指定文件夹名称。
4. 配置--构建触发器
触发器用于设置在什么时候或什么情况下执行构建,作用在于可以不用手动触发构建部署。
- 都不勾选:不会自动构建,每次都需要手动构建;
- Poll SCM :定时扫描,例如日程表填入“* * * * *”则代表每隔一分钟会扫描一次svn代码,如果发现代码有更新则自动构建,没有更新的话就不会构建;
5. 配置--构建环境
默认不勾选即可。
6. 配置--构建
将从svn拷到workspace中的项目代码通过Gradle构建成war包,用于下一步远程部署时使用:
- 指定Gradle Version(版本):选择之前步骤已经设置安装好的版本;
- 构建时执行的Tasks;
- 然后需要点击右下方“高级”继续配置:
(该步骤在高级项中,容易遗漏,注意检查)
Root Build script >>>> ${workspace}/任务名称(见上方新建配置)
Build File >>>> build.gradle
7. 配置--构建后操作
说明:上一个步骤构建完成后,通过SSH将项目war包传到jboss服务器,之后再通过脚本进行部署:
- Name:选择SSH远程服务器 ->实际部署项目的服务器,在上面系统设置的目录中已经添加;
- Transters:远程操作部署服务器,包括了传输部署文件(war/jar包),执行脚本代码;
Source files 本地war包位置;
Remove prefix 移除war位置前缀;
Remote directory 远程服务器接收的位置;
Exec command 运行在远程服务器上的war包部署的脚本代码(该脚本通过将war包复制、移动等操作,最后通过 $JBOSS_HOME/bin/jboss-cli.sh 的方式部署到服务器jboss上,jboss-cli.sh部署方式请参考文章后面的 “[ 附件一 ] jboss6.4 域模式自动部署”)。
8. 保存
保存后,会自动跳转至主页。
9. 项目启动
选择项目后,点击左侧“立即构建”,就会开始项目的构建,可在下方Build History中看到出现进度条;
(提示:注意点击构建前,请确保主jboss服务器上的jboss是处于运行的状态。)
每次构建进度完成后,前面都会有一个圆形标志:
- 蓝色 即为构建成功(但并不代表部署成功,如[附件二.2]中的情况);
- 黄色 有警告;
- 红色 构建失败。
10. 访问项目
之前的步骤顺利完成后,即可通过对应的url访问项目,是否成功,在此一举啦!
如果访问失败,请逐条排查。
==================================================
Jenkins还有一些其它功能,可以自行研究。
==================================================
[ 参考资源:
https://baike.baidu.com/item/Jenkins/10917210?fr=aladdin Jenkins百度百科
https://www.jianshu.com/p/4622c1000730 Linux Gradle 安装
https://blog.csdn.net/hc_ttxs/article/details/79384535 Jenkins的详细安装及使用
https://blog.csdn.net/andyzhaojianhui/article/details/73472500 linux下安装及配置jenkins
]