Jenkins项目部署使用教程-----02视图及项目添加

时间:2023-03-10 05:28:16
Jenkins项目部署使用教程-----02视图及项目添加

注意:此以我公司为例,以svn上传代码

一、添加视图

1、点击右上角”+”号,新建新视图

Jenkins项目部署使用教程-----02视图及项目添加

勾选在该视图下显示的项目或者在该视图新建项目,点保存即可。

Jenkins项目部署使用教程-----02视图及项目添加

二、新建项目

1、点击左上角的新建,创建新项目。

Jenkins项目部署使用教程-----02视图及项目添加

输入项目名称,例如项目名称为qy-channel-monitor,本次构建选择构建一个多配置项目,点击OK,进入配置界面。

Jenkins项目部署使用教程-----02视图及项目添加

项目配置界面如下:

Jenkins项目部署使用教程-----02视图及项目添加

2、构建过程

整个构建过程包含8个部分:General、Advanced Project Options、源码管理、构建触发器、Configuration Matrix、构建环境、构建、构建后操作。

1)、General部分:

项目名称,描述

Jenkins项目部署使用教程-----02视图及项目添加

丢弃旧的构建,保持最近2天的,最大数量是5

Jenkins项目部署使用教程-----02视图及项目添加

参数化构建,用来获取构建过程中用到的一些全局变量

Jenkins项目部署使用教程-----02视图及项目添加

进入配置获取最近版本号的界面

Jenkins项目部署使用教程-----02视图及项目添加

选择Dynamic Parameter 进入配置截取版本的界面,

Jenkins项目部署使用教程-----02视图及项目添加

配置接面如下图:

Jenkins项目部署使用教程-----02视图及项目添加

选择String Parameter,配置端口参数

Jenkins项目部署使用教程-----02视图及项目添加

进入端口配置界面:

Jenkins项目部署使用教程-----02视图及项目添加

本次配置没用到Advanced Project Options这个部分,直接进入源码管理

Jenkins项目部署使用教程-----02视图及项目添加

选择Subversion

填写完整的svn路径,svn账户名,用来拉取源代码工程包。

2)、Configuration Matrix部分

本次配置未用到构建触发器,直接跳过,进入Configuration Matrix,

Jenkins项目部署使用教程-----02视图及项目添加

选择Slaves 进入配置界面,

进入slaves,选择需要部署项目的目标主机,目标主机的具体添加方法,下面会提到。

Jenkins项目部署使用教程-----02视图及项目添加

3)、构建环境部分:

Jenkins项目部署使用教程-----02视图及项目添加

勾选第一个,表示再构建之前,会删除旧的构建文件。

4)、构建部分

Jenkins项目部署使用教程-----02视图及项目添加

选择Execute shell

进入shell 脚本构建的阶段,配置举例如下:

Jenkins项目部署使用教程-----02视图及项目添加

5)、构建后操作

配置邮件通知,当构建失败是发邮件通知邮件给构建人。

Jenkins项目部署使用教程-----02视图及项目添加

进入配置界,默认配置即可。(先安装Email Extension Plugin插件配置,配置全局邮件通知。)

这里可以指定单个项目收件人是谁。

选择Edidatable  Email  Notification

Jenkins项目部署使用教程-----02视图及项目添加

点击高级设置

Jenkins项目部署使用教程-----02视图及项目添加

再点高级

Jenkins项目部署使用教程-----02视图及项目添加

Jenkins项目部署使用教程-----02视图及项目添加

恢复内容代码如下(需要修改项目名称及个别格式,按需求来):

 <!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title>
</head> <body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4"
offset="0">
<table width="95%" cellpadding="0" cellspacing="0"
style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
<tr>
<td>(本邮件是程序自动下发的,请勿回复!)</td>
</tr>
<tr>
<td><h2>
<font color="#0000FF">hi,all:
************(写项目名称)项目已经发布完成,如有问题请及时联系运维,谢谢~</font>
</h2></td>
</tr>
<tr>
<td><br />
<b><font color="#0B610B">构建信息</font></b>
<hr size="2" width="100%" align="center" /></td>
</tr>
<tr>
<td>
<ul>
<li>项目名称&nbsp;:&nbsp;${PROJECT_NAME}</li>
<li>构建编号&nbsp;:&nbsp;第${BUILD_NUMBER}次构建</li>
<li>SVN&nbsp;版本:&nbsp;${SVN_REVISION}</li>
<li>触发原因:&nbsp;${CAUSE}</li>
</ul>
</td>
</tr>
<tr>
<td><b><font color="#0B610B">Changes Since Last
Successful Build:</font></b>
<hr size="2" width="100%" align="center" /></td>
</tr>
<tr>
<td>
<ul>
<li>历史变更记录 : <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a></li>
</ul> ${CHANGES_SINCE_LAST_SUCCESS,reverse=true, format="Changes for Build #%n:<br />%c<br />",showPaths=true,changesFormat="<pre>[%a]<br />%m</pre>",pathFormat="&nbsp;&nbsp;&nbsp;&nbsp;%p"}
</td>
</tr>
<tr>
<td><b>Failed Test Results</b>
<hr size="2" width="100%" align="center" /></td>
</tr>
<tr>
<td><pre
style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">$FAILED_TESTS</pre>
<br /></td>
</tr>
<tr>
<td><b><font color="#0B610B">构建日志 (最后 500行):</font></b>
<hr size="2" width="100%" align="center" /></td>
</tr>
<!-- <tr>
<td>Test Logs (if test has ran): <a
href="${PROJECT_URL}ws/TestResult/archive_logs/Log-Build-${BUILD_NUMBER}.zip">${PROJECT_URL}/ws/TestResult/archive_logs/Log-Build-${BUILD_NUMBER}.zip</a>
<br />
<br />
</td>
</tr> -->
<tr>
<td><textarea cols="80" rows="30" readonly="readonly"
style="font-family: Courier New">${BUILD_LOG, maxLines=500}</textarea>
</td>
</tr>
</table>
</body>
</html>

解决坑:

描述一下本人部署过程中碰见过的坑

1.不能用tags.version 用tags_version。

2.如果配置文件有目录的,必须授权给jenkins用户。

3.第一次构建升级之前,必须杀掉root用户启动的对应服务,chown -R jenkin.jenkins*.log再用jenkins用户构建升级。

4.Ssh信任做好之后,需要在jenkins服务器上用切换到jenkins用户下,用jenkins用户登录slave服务器。