准备
确保JDK,Maven,Git已经安装,关于安装,参见我之前的博客
java version “1.8.0_191”
Java™ SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot™ 64-Bit Server VM (build 25.191-b12, mixed mode)
[zhaobin@localhost tools]$ git version
git version 1.8.3.1
[zhaobin@localhost tools]$ mvn -version
Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-25T02:41:47+08:00)
Maven home: /usr/tools/apache-maven-3.6.0
Java version: 1.8.0_191, vendor: Oracle Corporation, runtime: /usr/java/jdk1.8.0_191-amd64/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: “linux”, version: “3.10.0-957.el7.x86_64”, arch: “amd64”, family: “unix”
[zhaobin@localhost tools]$ java -version
Jenkins 配置
登陆Jenkins,选择 Manage Jenkins
,再选择 Global Tool Configuration
,完成如下配置:
说明: 可以用 echo $JAVA_HOME
查看JAVA_HOME,用 wheris
命令查看Git 和 Maven安装路径:
[zhaobin@localhost tools]$ whereis git
git: /usr/bin/git /usr/share/man/man1/git.1.gz
[zhaobin@localhost tools]$ whereis mvn
mvn: /usr/tools/apache-maven-3.6.0/bin/mvn.cmd /usr/tools/apache-maven-3.6.0/bin/mvn
配置Maven:
插件安装与配置
Maven插件
登陆Jenkins,选择 Manage Jenkins
,再选择 Manage Plugins
, 选择Tab 可选插件
,在输入框输入 Maven Integration , 勾选查询结果,点击 直接安装
即可:
安装完成后,点击创建任务,就可以看到 创建一个Maven项目
选项了
安装GitLab插件
- 登陆Jenkins,选择
Manage Jenkins
,再选择Manage Plugins
, 选择Tab可选插件
,在输入框输入 GitLab , 勾选GitLab
和GitLab Hook
,点击直接安装
即可:
- 选择
Manage Jenkins
,再选择凭据配置
配置凭据,直接点击保存即可:
- 依次点击
凭据
、系统
、添加域
,再点击全局凭据
:
- 点击
添加凭据
,完成如下配置,注意这里的Key是ssh的私钥!私钥!私钥!,点击确定
:
插件Deploy to container
- 登陆Jenkins,选择
Manage Jenkins
,再选择Manage Plugins
, 选择Tab可选插件
,在输入框输入 Deploy to container , 勾选查询结果 ,点击直接安装
即可:
Tomcat安装与配置
安装Tomcat是为了实现Jenkins build后的自动部署,安装参考Linux 安装Tomcat,安装结束后,增加管理员用户,方便后续应用的部署和管理。
- 编辑tomcat配置文件
vim /usr/tools/tomcat/conf/tomcat-users.xml
,在tomcat-users
增加如下内容:
</tomcat-users>
<role rolename="manager-gui"/>
<role rolename="admin"/>
<role rolename="manager"/>
<role rolename="manager-script"/>
<user username="zhaobin" password="zhaobin" roles="manager-gui,admin,manager,manager-script"/>
</tomcat-users>
- 修改地址访问限制
vim /usr/tools/tomcat/webapps/manager/META-INF/context.xml
,修改Context
标签下的Valve
如下:
修改前,仅允许从本地主机连接的客户端访问:
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1"/>
修改后,允许所有主机访问(这种设置在生产环境是不安全的,请根据需要设定):
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="^.*$" />
- 修改完成后重启tomcat即可。
- 然后Jenkins中,增加tomcat的全局凭据,这里的用户名、密码输入之前tomcat 配置文件中的用户名密码即可:
创建Maven项目
- 输入任意项目名,选择
构建一个maven项目
点击确定
创建项目:
- 点击
源码管理
Tab, 完成如下配置: - 跳过其它配置,直接点击
构建设置
完成如下配置:
- 通常我们会在build结束后自动部署应用到相应的容器中,这里把build的后的项目部署到本机的tomcat下(远程部署只需要增加权限验证就可以了,推荐使用ssh协议,后续补充这部分内容),点击
构建后操作
Tab完成如下配置:
注意:这里的凭据是之前配置的tomcat凭据,tomcat的端口号我有做修改(默认是8080):
- 保存后点击
build Now
开始构建,然后点击build的工程,点击控制台输出
查看build结果:
第一次部署的时候会有一个漫长的下载jar包的过程,当输出如下信息时表示build和部署成功:
- 这个时候就可以在浏览器中,输入应用部署的路径 http://192.168.0.116:6060/springboot-helloworld/ 访问应用了, 因为我这个工程只是返回了一个
Hello World
字符串,所以直接输入curl http://192.168.0.116:6060/springboot-helloworld/
即可验证结果:
至此,一个最简单的Jenkins 自动化部署应用到tomcat就完成了。