Jenkins

一、介绍

Jenkins 是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行(这个比较抽象,暂且写上,不做解释)。Jenkins 采用Java 语言编写,可在 Tomcat 等流行的 servlet 容器中运行,也可独立运行。通常与版本管理工具(SCM)、构建工具结合使用。常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle。

二、安装

采用 Docker 的形式安装:

根据官网文档 推荐使用 jenkinsci/blueocean 镜像,我们就采用这个。

# 拉取镜像
docker pull jenkins/jenkins
# 创建容器
docker run -d -p 80:8080 -p 50000:50000 -v jenkins:/var/jenkins_home -v /etc/localtime:/etc/localtime --name jenkins jenkins/jenkins

参数说明:

-d 后台运行镜像 -p 80:8080 将镜像的8080端口映射到服务器的80端口
-p 50000:50000 将镜像的50000端口映射到服务器的50000端口
-v jenkins:/var/jenkins_home 冒号前面的jenkins表示的是docker卷名,冒号后面的 /var/jenkins_home目录为容器中jenkins工作目录
-v /etc/localtime:/etc/localtime 让容器使用和服务器同样的时间设置。
--name jenkins 给容器起一个别名

jenkinsjenkinsci/jenkins 镜像已经被弃用了,详情查看博客

三、配置

3.1 解锁 Jenkins

在浏览器中访问 http://ip地址,将会显示如下页面:

需要我们输入密码,因为我们是通过Docker 安装的,所以宿主机中是没有这个路径的,我们需要进入容器中:

# 进入容器
docker exec -it jenkins /bin/bash
# 查看密码
cat /var/jenkins_home/secrets/initialAdminPassword  
# 将密码拷贝到页面中,等待 jenkins 初始化    

3.2 安装插件

这里我们先选默认推荐的,当然你对 Jenkins 比较了解的话,也可以选择需要的插件。

注:如果插件安装失败,可以先跳过这个环节,在进入 Jenkins 后可以更换插件地址下载

3.3 创建管理员用户

四、更换插件地址

因为某些因素会导致插件地址无法访问,我们可以更换地址来下载插件。

4.1 点击系统管理

4.2 选择管理插件

4.3 替换站点地址

替换为

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

五、汉化

5.1 安装插件

需要同时安装如下插件:

  • Locale plugin

  • Localization: Chinese (Simplified)

5.2 系统配置

在系统设置中配置语言为 zh_CN:

然后重启 jenkins

六、配置集成环境

进入 系统管理 --> 全局工具配置

注:这里我们因为是通过 Docker 安装的 jenkins,所以我们直接通过在容器中安装的形式配置 JDK 等信息。

6.1 配置 JDK

方式一:

镜像中自带了,我们进入容器查看安装路径:

# 进入容器
docker exec -it jenkins /bin/bash
# 查看路径    
echo $JAVA_HOME    

JDK 路径如下:

/usr/local/openjdk-8

方式二:

通过 jenkins 自动安装

这种方式需要设置 Oracle账号,分析一个 从 网上 查到一个 Oracle 账号:

账号: 1364262875@qq.com
密码: 7Jv?_ppXq9+j9n7

6.2 配置 Git

方式一:

镜像中自带了,我们进入容器查看安装路径:

# 进入容器
docker exec -it jenkins /bin/bash
# 查看路径    
which git

Git 路径如下:

/usr/bin/git

方式二:

通过 jenkins 自动安装

6.3 配置 Maven

maven integration

6.5 安装 Maven Integration 插件

6.6 修改 Maven远程仓库地址

注: 需要先执行第七步,先安装完Maven。

自动安装的 Maven 默认是国外的地址 ,下载速度很慢,我们需要替换为国内的镜像。

docker exec -it  jenkins /bin/bas           
# 跳转到当前用户的家目录
cd ~    
# 显示当前列表信息
ls -a    
# 可以看到有个 .m2 目录,它是 Maven 默认安装的目录   
cd .m2


# 进入 maven 安装目录,这个目录从 jenkins 第一次编译的日志中查询到  
cd /var/jenkins_home/tools/hudson.tasks.Maven_MavenInstallation/maven/conf/
# 编辑配置文件    
vim settings.xml    

在 ** ** 标签中配置阿里云仓库

<mirror>  
	<id>alimaven</id>  
	<name>aliyun maven</name>  
	<url>http://maven.aliyun.com/nexus/content/groups/public/</url>  
	<mirrorOf>central</mirrorOf>          
</mirror> 

七、Maven编译项目

7.1 新建 Maven 任务

7.2 配置 GIt 仓库地址

7.3 配置构建信息

7.4 保存后,点击立即构建

在右下角会显示进度

7.5 通过控制台输出,可以查看进度

从日志来看,进行了如下步骤:

  • 安装 mavne
  • 拉取代码
  • 进行编译

八、Tomcat 部署

8.1 部署 Tomcat 容器

# 拉取镜像
docker pull tomcat:7-jre8
# 创建容器
docker run -di --name=mytocat -p 9000:8080 -v /usr/local/webapps:/usr/local/tomcat/webapps tomcat:7-jre8    

8.2 为 Tomcat 添加用户及权限

# 进入容器
docker exec -it mytocat /bin/bash     
# 进入Tomcat 配置目录
cd /usr/local/tomcat/conf/ 
# 编辑 tomcat 用户文件
vim tomcat-users.xml     

新增用户 /密码都是 **tomcat **

<role rolename="tomcat"/>
<role rolename="role1"/>
<!--远程部署必须的权限,不然会报权限不足-->    
<role rolename="manager-script"/>
<!-- manager后台管理员权限 -->    
<role rolename="manager-gui"/>                              
<role rolename="manager-status"/>                      
<role rolename="admin-gui"/>
<role rolename="admin-script"/>                     
<user username="tomcat" password="tomcat" roles="tomcat,manager-gui,manager-script,admin-gui,admin-script"/>  

8.3 注释来源受限控制

# 进入Tomcat 配置目录
cd /usr/local/tomcat/conf/ 
# 编辑 context 文件
vim context.xml

元素中增加一个属性 antiResourceLocking="true" antiJARLocking="true" :

<?xml version='1.0' encoding='utf-8'?>
<Context antiResourceLocking="true" antiJARLocking="true">  
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>
</Context>    

8.4 重启容器

# 退出容器
exit
# 重启容器
docker restart mytocat    

访问 http://IP地址:7070/manager/html,输入用户 /密码 **tomcat ** ,能够正常打开说明配置正确。

九、自由风格项目构建

构建过程如下:

拉取代码
	-->编译
		-->打包
			-->部署

9.1 安装部署插件

jenkins 本身是没有部署功能的,需要安装 Deploy to container 插件实现

9.2 配置 Mavne 全局变量

为避免出现编译时报 mvn: not found 错误,我们需要配置下 Mavne 全局变量。

打开 系统管理 --> 系统配置 在**全局属性.环境变量 ** 下配置如下内容:

MAVEN_HOME = /var/jenkins_home/tools/hudson.tasks.Maven_MavenInstallation/maven
PATH = ${PATH}:${MAVEN_HOME}/bin

9.3 新建自由风格项目任务

9.4 配置 Git 仓库地址

9.5 配置构建步骤

9.6 配置部署

保存后,点击立即构建。

9.7 验证

部署成功后,浏览器访问 http://192.168.205.10:7070/test/test/hello?name=123 ,返回

hello 123

说明部署成功。

原文地址:https://www.cnblogs.com/markLogZhu/p/13705909.html