linux jenkins 2.89.1 安装部署 持续构建svn下maven项目并部署到tomcat

服务器

浏览数:63

2020-7-16

AD:资源代下载服务

从这边博文可以学习到: 

  1. jenkins的安装
  2. 修改主目录
  3. 初始化
  4. 新建任务,构建第一个maven项目
  5. 将构建完成的项目部署到tomcat

Jenkins的安装相当简单,只需要从官网下载war包,放入tomcat,运行tomcat就可以访问Jenkins了

准备工作:安装java环境,一个tomcat7+。如果构建maven项目还需要安装maven

1.从Jenkins官网下载jenkins.war

wget http://mirrors.jenkins.io/war-stable/2.89.1/jenkins.war

2.将jenkins.war放入tomcat/webapps/

3.启动tomcat

Jenkins安装成功,去浏览器访问

ip:端口/jenkins    端口就是部署Jenkins的tomcat端口

访问会看到如下界面,第一次访问Jenkins需要解锁Jenkins

页面红色字体是密码路径

我们打开这个文件 复制密码

粘贴到密码框

点击continue继续

暂停一下。。。。

修改jenkins主目录

jenkins默认的主目录是用户目录/.jenkins/

我使用的是root账户所以默认主目录在/root/.jenkins/下

从tomcat启动日志中也打印了jenkins的主目录信息

Jenkins home directory: /root/.jenkins found at: $user.home/.jenkins

我们不使用默认目录,将jenkins住目录修改为自己的目录方便管理

修改方式:编辑webapps/jenkins/WEB-INF/web.xml文件

  <!-- if specified, this value is used as the Hudson home directory -->
  <env-entry>
    <env-entry-name>HUDSON_HOME</env-entry-name>
    <env-entry-type>java.lang.String</env-entry-type>
    <env-entry-value></env-entry-value>
  </env-entry>

将指定的jenkins主目录放入<env-entry-value></env-entry-value>节点

  <!-- if specified, this value is used as the Hudson home directory -->
  <env-entry>
    <env-entry-name>HUDSON_HOME</env-entry-name>
    <env-entry-type>java.lang.String</env-entry-type>
    <env-entry-value>/usr/local/softs/jenkins/home-dev/</env-entry-value>
  </env-entry>

:wq 保存退出

重启tomcat  访问jenkins

我们可以看到红色密码路径已经变成了自定义的目录

同样的操作,输入密码

vi /usr/local/softs/jenkins/home-dev/secrets/initialAdminPassword

下一步

这一步是选择安装插件,我们选择左侧,安装建议的插件

稍等一会,正在自动下载并安装插件

安装完成之后会自动到创建用户界面

可以在这里创建一个用户,我没有创建,使用默认账户admin,点击右下角Continue as admin ,创建的话点击Save and Finish

ps:如果使用默认admin,用户名为admin 密码是第一次进入jenkins使用的那个初始化密码

jenkins初始化完毕,点击Start using Jenkins 开始使用

修改密码:点击右上角登录用户->点击左侧设置->在密码出输入新密码并确认密码->点击保存修改为新密码

进入主界面

配置jenkins

为构建第一个maven项目配置jenkins环境

1.配置jdk/maven  点击系统管理->全局工具配置

点击新增JDK

不勾选自动安装,使用我们自己安装的jdk

输入JAVA_HOME

maven

点击新增maven,取消自动安装勾选

点击save

2.安装插件   点击系统管理->管理插件

构建maven需要3个插件

Subversion Plug-in:svn插件,初始化的时候已经安装

Maven Integration plugin:用来构建maven项目

Deploy to container Plugin:将web项目构建之后自动部署到tomcat

在可选插件中勾选要安装的插件

点击直接安装

勾选 安装完成后重启Jenkins(空闲时) 安装完成后Jenkins会自动重启

安装成功重启之后新建任务会有

新建任务,构建第一个maven项目

General

源码管理

选择 Subversion,输入url,警告显示不能访问库,点击Add添加svn用户名密码

添加svn用户名密码

添加之后,Credentials选择刚才添加的账号密码

构建触发器

构建环境

构建环境是对maven的配置

Root POM:pom.xml文件的位置,一般都在根目录

Goals and options:执行mvn命令

 jenkins还支持构建前后的个性化操作Pre Steps / Post Steps

Pre Steps:构建之前执行

Post Steps:构建之后执行

 

Pre Steps / Post Steps 可以执行shell,执行maven命令等

这两个非常有用,比如在构建之前关闭tomcat,在构建之后重新启动tomcat .  

eg:下面我们再构建前构建后分别执行一段shell命令

构建设置

可以设置发邮件通知

构建后操作(部署到tomcat)

在以上步骤全部完成之后执行构建后操作,可以deploy项目到仓库,构建完成之后删除workspace目录,如果是web项目,还可以将war部署到tomcat

我们具体操作下将war部署到tomcat

1.准备一个完整的tomcat

从官网下载的tomcat webapps/目录结构

启动之后可以访问tomcat主页

2.修改tomcat/conf/tomcat-users.xml配置文件

在<tomcat-users></tomcat-users>节点里添加一个用户

<?xml version='1.0' encoding='utf-8'?>

<tomcat-users>
	<role rolename="admin-gui"></role>
	<role rolename="admin-script"></role>
	<role rolename="manager-gui"></role>
	<role rolename="manager-script"></role>
	<role rolename="manager-jmx"></role>
	<role rolename="manager-status"></role>
	<!-- username:用户名 因为我svn的用户名是admin,为了好区分,我这里将用户名设置为tomcat-admin   password:密码 -->
	<user username="tomcat-admin" password="admin" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-script,admin-gui"/>
<tomcat-users>

修改之后重新启动tomcat,我们访问tomcat主页测试一下用户名密码, 点击Manager App进入tomcat UI管理界面,点击Manager App 会提示登录,输入我们刚才设置的用户名/密码登录

登录成功则表示用户名密码可用

3.增加构建够操作步骤,选择Deploy war/ear to a container

WAR/EAR files:war路径,在项目target目录下,文件路径在solr-home/workspace/项目/target/xxx.war

Context path:部署到tomcat/werapps/的项目名称

设置完毕,开始构建

点击保存,在首页会看到一个名称为maven-web的项目

点击最右侧按钮构建

构建成功,我们去tomcat/webapps下看看

已经将war部署到webapps下并将war包名字修改为设置的maven-web.war

输入ip:端口/maven-web/index.jsp   访问成功

在jenkins的控制台输出可以看到构建前后的脚本也分别在构建之前构建之后执行

 

jenkins的安装部署,构建第一个maven项目,将构建完成的项目部署到tomcat已经全部完成,祝你好运