澳门新浦京娱乐场网站-www.146.net-新浦京娱乐场官网
做最好的网站

澳门新浦京娱乐场网站功能分析与整理,环境部

Jenkins安装

分析整理的版本是:Jenkins 2.7.4 版本。

Jenkins是一个非常出色的持续集成服务器,本文主要介绍在CentOS系统中Jenkins的基本安装配置方法,供参考。

为了兼容生产环境的jdk1.7版本,从官网得知,Jenkins必须是1.6之前的版本,因此下载jenkins-1.596.3-1.1.noarch.rpm到本地进行安装:

Jenkins 的主要目标是监控软件开发流程,快速显示问题,保证开发人员以及相关人员省时省力提高开发效率。CI 系统在整个开发过程中的主要作用是控制:当系统在代码存储库中探测到修改时,它将运行构建的任务委托给构建过程本身。如果构建失败了,那么 CI 系统将通知相关人员,然后继续监视存储库。它的角色看起来是被动的;但它确能快速反映问题。

一. 软件包:

  1. 下载apache-maven-2.2.1-bin.tar

    2. 下载jenkins: 列出了jenkins的所有release版本,请选择下载
#移动到rpm包所在目录
rpm -ivh jenkins-1.596.3-1.1.noarch.rpm

Jenkins 特点:

二. 安装

 

本文假设操作用户为gistech。

1. 安装jdk,参考《CentOS系统中安装JDK1.6》。
2. 安装tomcat7,参考《CenOS系统中安装Tomcat7》。

修改tomcat配置文件

$ vi /home/gistech/tomcat/conf/server.xml

 

修改8080端口的Connector节点,增加如下配置

URIEncoding="UTF-8"

 

  1. 安装maven
    1) 解压

    $ tar -zvxf apache-maven-2.2.1-bin.tar.gz

 

2) 移动到其他目录

$ mv apache-maven-2.2.1 /home/gistech/maven

3) 配置环境变量
编辑.bash_profile文件

$ cd /home/gistech
$ vi .bash_profile

 

添加如下内容

MAVEN_HOME=$HOME/maven
PATH=$PATH:$HOME/bin:$MAVEN_HOME/bin

export MAVEN_HOME
export PATH

 

使环境变量生效

$ source .bash_profile

 

4) 验证是否安装成功

$ mvn -v   

 

5) 配置maven
编辑maven的配置文件

$ cd maven/conf
$ vi settings.xml

 

修改配置文件示例如下:

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
    <localRepository>/home/gistech/~m2</localRepository>
    <servers>
        <server>
            <username>admin</username>
            <password>password</password>
        </server>
    </servers>
    <mirrors>
        <mirror>
            <!-- This sends everything else to /public -->
            <id>nexus</id>
            <mirrorOf>central</mirrorOf>
            <url>http://192.168.120.247:8081/nexus/content/repositories/public</url>
        </mirror>
    </mirrors>
    <profiles>
        <profile>
            <id>nexus</id>
            <!-- Enable snapshots for the built in central repo to direct -->
            <!-- all requests to nexus via the mirror -->
            <repositories>
                <repository>
                    <id>central</id>
                    <url>http://192.168.120.247:8081/nexus/content/repositories/public</url>
                    <releases>
                        <enabled>true</enabled>
                        <updatePolicy>always</updatePolicy>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                        <updatePolicy>always</updatePolicy>
                    </snapshots>
                </repository>
            </repositories>
            <pluginRepositories>
                <pluginRepository>
                    <id>central</id>
                    <url>http://192.168.120.247:8081/nexus/content/repositories/public</url>
                    <releases>
                        <enabled>true</enabled>
                        <updatePolicy>always</updatePolicy>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                        <updatePolicy>always</updatePolicy>
                    </snapshots>
                </pluginRepository>
            </pluginRepositories>
        </profile>
    </profiles>
    <activeProfiles>
        <!-- make the profile active all the time -->
        <activeProfile>nexus</activeProfile>
    </activeProfiles>

    <pluginGroups>
        <!-- define the sonatype plugin group, so the nexus plugins will work without 
            typing the groupId -->
        <pluginGroup>org.sonatype.plugins</pluginGroup>
    </pluginGroups>
</settings>

 

其中localRepository节点表示私服中下载的jar包存放路径,根据实际存放的路径修改。
所有url节点中包含的地址:
username、password节点表示登录nexus私服的用户名及密码。
4、安装jenkins
1) 复制到tomcat webapps目录

$ mv jenkins.war /home/gistech/tomcat/webapps

 

2) 配置环境变量
编辑.bash_profile文件
添加如下内容

JENKINS_HOME=$HOME/tomcat/webapps/jenkins

export JENKINS_HOME

 

使环境变量生效

source .bash_profile

 

3) 启动tomcat,使用

安装后,修改Jenkins配置文件:

  • Jenkins一切配置都可以在 web 界面上完成。有些配置如 MAVEN_HOME 和 Email,只需要配置一次,所有的项目就都能用。当然也可以通过修改 XML 进行配置。
  • 支持 Maven 的模块 (Module),Jenkins 对 Maven 做了优化,因此它能自动识别 Module,每个 Module 可以配置成一个 job。相当灵活。
  • 测试报告聚合,所有模块的测试报告都被聚合在一起,结果一目了然,使用其他 CI,这几乎是件不可能完成的任务。
  • 构件指纹(artifact fingerprint),每次 build 的结果构件都被很好的自动管理,无需任何配置就可以方便的浏览下载。

三、jenkins的基本配置

 1、全局配置

单击首页左边的“系统管理”,进入“系统设置”,在这里对jenkins进行全局设置
1) JDK安装。如果没有读取出系统变量,就手动设置好别名和JAVA_HOME就可以了
2) Maven同理
澳门新浦京娱乐场网站 1
3) 配置管理员邮件通知
配置方式如下图:
澳门新浦京娱乐场网站 2
配置完成后可以点击"通过发送测试邮件测试配置"按钮进行测试。
2、创建job
1) 在页面中点击“新job”,输入任务名称,选择“构建一个maven2/3项目”,如下图:
澳门新浦京娱乐场网站 3
2) 点击ok按钮进入任务配置页面,首先配置项目的svn地址,如下图:
澳门新浦京娱乐场网站 4
3) 配置maven的pom文件位置,可以使用相对路径(相对于svn地址库中的位置),如下图:
澳门新浦京娱乐场网站 5
4) 配置maven编译参数,如下图所示不执行单元测试:
澳门新浦京娱乐场网站 6
关于maven的编译参数可参考Maven基本命令
3、邮件通知
构建邮件通知配置如下图,Recipients栏目中添加需要发送邮件通知的邮件地址。
澳门新浦京娱乐场网站 7
4、定时构建
构建触发器可以配置构建的时间,如果需要定时构建,可以选择 Build periodically,日程表参数解释如下:

  • 第一个参数代表的是分钟 minute,取值 0~59;
  • 第二个参数代表的是小时 hour,取值 0~23;
  • 第三个参数代表的是天 day,取值 1~31;
  • 第四个参数代表的是月 month,取值 1~12;
  • 最后一个参数代表的是星期 week,取值 0~7,0 和 7 都是表示星期天。

如0 * * * * 表示的就是每个小时的第 0 分钟执行一次构建。
澳门新浦京娱乐场网站 8
5、版本更新构建
很多情况需要jenkins定时轮询版本库,只要有版本更新就触发构建,jenkins提供了Poll SCM支持版本更新构建,如上图,配置参数与定时构建的参数一样,如*/5 * * * *表示每隔5分钟轮询一次,检查版本库是否更新。

vi /etc/sysconfig/jenkins

环境的搭建

根据实际情况修改以下两处,通常tomcat已占用8080和8009端口:

安装JDK

yum install java-1.6.0-openjdk-devel*
yum install java-1.7.0-openjdk-devel*

澳门新浦京娱乐场网站 9  澳门新浦京娱乐场网站 10

配置Git

  • 设置 user.name 与 user.email。
  • 生成密钥:ssh-keygen -t rsa -C “email”,Git服务器添加SSH Key。

记得在防火墙中开启对应端口,然后重启Jenkins:

安装maven

  • 放在普通用户可以访问的目录下。
service jenkins restart

配置环境变量

  • JAVA_HOME
  • MAVEN_HOME
  • CLASSPATH
  • PATH

打开浏览器,输入:端口即可看到Jenkins已经启动:

安装 Jenkins

  • 官网下载 jenkins-2.7.4-1.1.noarch.rpm 包,进行安装。
rpm -ivh jenkins-2.7.4-1.1.noarch.rpm
  • 安装完成后,在 /var/lib/jenkins 目录中可以看见 jenkins.war。执行 java -jar jenkins.war 安装解压,重启服务器。

注意:不重启不能访问首页。可以关闭 HTTP 访问方式,打开 HTTPS 访问方式。

java -jar jenkins.war -httpsPort=8443 -httpPort=-1
  • 通过 service jenkins start 启动 Jenkins 服务。
  • 修改 /etc/sysconfig/jenkins澳门新浦京娱乐场网站功能分析与整理,环境部署记录。 配置文件中 JENKINS_USER 为 root。让 Jenkins 以 root 权限运行,如果后续 Jenkins 调用脚本不需要 root 权限可以不用修改。(修改前先停止 Jenkins 服务 service jenkins stop,修改后再启动)

不修改为 root 权限,后续脚本中如果涉及 root 目录或者权限的情况,将提示没有权限。

  • 关闭防火墙,或者开放 8080 端口。

注意:不关闭防火墙,无法访问首页。

  • 通过 http://localhost:8080 可以看到 Jenkins 首页。
  • 登录首页要求输入密码,可以在文件 /var/lib/jenkins/secrets/initialAdminPassword 中查看到。
  • 输入后提示创建系统管理员用户,创建后即可登录。
  • Configure Global Security → 访问控制 → 安全域
    • 可以设置允许用户注册
    • 授权策略可以选择
序号 授权策略
1 任何用户可以做任何事(没有任何限制),包括为登录的用户也可以做相关操作。
2 登录用户可以做任何事(登陆后的用户都拥有管理员的权限)
3 遗留模式,登录的用户只有查看的权限(除管理员以外)。
4 安全矩阵,统一配置授权策略。
5 项目矩阵授权策略,跟安全矩阵配置完全相同,唯一区别在于可以在Job的配置页面再次配置。(选择Job → General → 启用项目安全)

澳门新浦京娱乐场网站 11

Jenkins 实现持续集成相关配置

 

JDK 相关配置

  • Global configure Tools

配置 JDK 安装目录(JAVA_HOME)

JDK 配置成功的情况下,修改 JDK 路径,通过界面修改,重启 Jenkins,可能存在无效的情况。可以直接修改 config.xml 配置文件中的 JDK 路径,再重启 Jenkins 后生效。推荐使用 1.7 版本,因为某些插件需要 JDK1.7 的支持,比如:Monitoring 插件。config.xml 在 /var/lib/jenkins 目录下。JDK 选择自动下载,会出现卡死状态,是因为 Jenkins 在未发现 JDK 的情况下,会自动下载,但是 Oracle 对程序自动下载做了限制,会导致下载失败。

Jenkins配置

Git 相关配置

  • 系统管理 → 管理插件 → 可选插件选择 Git plugin 进行 git 插件安装。
  • 系统管理 → 系统设置 → Git plugin(Git plugin插件安装后才有)
    配置 Global Config user.name ValueGlobal Config user.email Value
  • 澳门新浦京娱乐场网站功能分析与整理,环境部署记录。在系统中生成访问 Git 的密钥文件。
  • 拷贝生成的密钥文件 id_rsaid_rsa.pub/var/lib/jenkins/.ssh 目录下,并且通过 chown jenkins:jenkins 设置为 jenkins 权限。

注意:不拷贝至 /var/lib/jenkins/.ssh 目录下也可以,但是密钥文件所在目录必须有 jenkins 访问权限。

  • Credentials

    • 创建密钥,Scope 选择 Global。
    • username 填写 git 登录名称。
    • private key 选择 From a file on Jenkins master,填写 /var/lib/jenkins/.ssh/id_rsa。
    • passphrase 填写 git 密码。
  • Global configure Tools
    配置GIT的执行文件目录(/usr/bin/git)。

关于Jenkins的配置,官网文档和网络博文已经讲得很详细了,这里我们只介绍最基本的配置,可以尽快让Jenkins工作起来。

Maven 相关配置

  • 系统管理 → 系统设置 → 全局属性
    • 勾选 Environment variables。
    • 添加键:MAVEN_HOME,值 maven 的安装目录。
    • 添加键:PATH,值 $PATH:$MAVEN_HOME/bin。

注意:必须配置,否则 Jenkins 运行脚本的环境变量中,无法加载maven目录。进行过以下尝试:

序号 描述
1 修改 etc/bashrc 文件,增加环境变量,Jenkins 运行无法获取 MAVEN_HOME。
2 修改 etc/profile 文件,增加环境变量,Jenkins运行无法获取 MAVEN_HOME。
3 修改 etc/passwd 文件中 jenkins 用户权限,Jenkins运行无法获取 MAVEN_HOME。
4 Jenkins 以 root 权限运行,Jenkins 运行无法获取 MAVEN_HOME。
5 将脚本放到 /var/lib/jenkins 目录下,Jenkins运行无法获取 MAVEN_HOME。
  • Global configure Tools
    • Maven Configuraction,配置settings.xml 所在路径。
    • 配置 Maven 安装目录(Maven安装目录需要放在 jenkins 可以访问的目录,否则会有警告提示)。

点击创建一个新任务,输入任务名称,这里以maven项目为例:

构建项目

  • 新建 → 构建一个自由风格的软件项目
    • 项目名称填写
    • 源码管理 → Git → Repositories,填写 Repository URL,密钥选择之前创建的密钥。
    • Branches to build 中填写 Git 下载分支,可添加多个。(例如:*/develop)
    • 构建触发器 → Poll SCM,定时轮询(查看 Git 是否有更新内容)。(例如 H/5 * * * *,每 5 分钟)。
    • 构建 → Execute shell → Command,可以添加 Git 下载代码后的脚本操作。
    • 创建项目完成后,可以在 My Vews 视图中看到。点击表格最后一列的构建图标,可以进行项目构建。

澳门新浦京娱乐场网站 12

远程登录执行 shell

  • 下载安装 Publish over SSH 插件。

  • 系统管理 → 系统设置 → publish over ssh。

    • 填写 Passphrase:远程登录密码。
    • SSH servers→Name:定义一个 SSH 名称。
    • SSH servers→Hostname:远程 IP 地址。
    • SSH servers→Username:登录名。
    • SSH servers→Directory:远程目录(也是远程机的根目录)。
    • 填写完成可以通过 Test Configuration 进行连接测试。
  • 构建项目中应用

    • 勾选构建环境 → Send files or execute commands over SSH after the build runs
    • SSH Publishers → SSH Server Name,选择上一步中创建的 SSH 服务名称。
  • SSH Publishers → Transfers

    • Transfer Set Source files:发送到远程的文件在本地相对于工作空间的相对路径
      (例如:工作空间 /var/lib/jenkins/workspace/foo/,填写target/*.zip,绝对路径就是 /var/lib/jenkins/workspace/foo/target/*.zip),可以多个,默认,号隔开。
    • Remove prefix:移除目录,是针对 Transfer Set Source files 中定义的目录,但是却作用于远程目录。填写 target,意思是将 target/*.zip 中的 target 去掉,改为 *.zip。然后作用于上一步的远程目录上,比如远程目录是 /root,那么绝对路径就是 /root/*.zip。
    • Remove directory:远程目录,相对于远程目录的相对路径。不填写就与远程目录一致。
    • Exec command:远程执行的 shell 命令。
    • Jenkins内置环境变量:
变量名称 含义 返回示例
BUILD_NUMBER 构建任务的编号 6
BUILD_ID 构建任务的ID 6(1.597版本后,与BUILD_NUMBER相同)
BUILD_DISPLAY_NAME 构建任务显示名称 #6
JOB_NAME 构建项目名称 bar/foo
JOB_BASE_NAME 构建最底层项目名称 foo
BUILD_TAG 构建任务标签 jenkins-${JOB_NAME}-${BUILD_NUMBER}
jenkins-bar/foo-6
NODE_NAME 是构建在宿主上,则master,节点上则名称 master或者节点名称
NODE_LABELS 节点分配表 master或者节点分配表(空格隔开)
WORKSPACE 工作空间 /var/lib/jenkins/workspace/foot/
JENKINS_HOME Jenkins 安装目录 /var/lib/jenkins/
JENKINS_URL Jenkins 主页 http://server:port/
BUILD_URL 构建任务地址 http://server:port/jenkins/job/foo/6/
JOB_URL 构建项目地址 http://server:port/jenkins/job/foo/
EXECUTOR_NUMBER 构建状态 0:正在执行,1:没有执行

这些环境变量可以在 Shell 或 Batch 脚本中被使用,以 JOB_NAME 环境变量为例:

序号 说明
1 在 Shell 中:$JOB_NAME。
2 在 Batch 中:%JOB_NAME%。
3 在 Ant 插件中:$JOB_NAME。
4 在 Ant 的 build.xml 中:${JOB_NAME}。
5 在 Maven 的 pom 中使用:${env.JOB_NAME},Maven 中引入环境变量的值。
引入 pom 中的变量通过 project.*,引入 settings.xml 中的变量,用settings.*。
  • SSH Publishers → Transfers → 高级
    • Exclude files:排除的文件(传输目录的时候排除,可以使用通配符)。
    • Pattern separator:分隔符,设置 Transfer Set Source files 的分隔符,设置了上面也需要改。
    • No default exclude:禁止默认的排除规则。(默认排除 .svn .git 等等文件)。
    • Make empty dirs:创建空的文件夹。(默认当文件存在时,才创建文件夹存放),勾选后,无论存不存在都创建目录文件夹。
    • Flatten files:只传递文件,不传递目录(这里指本地,不包含远程服务器端)。
    • Remote directory is a date format:远程目录创建带日期的目录。(需要在 Remove directory 中配置格式)。
    • Exec timeout(ms):脚本运行超时时间(毫秒)。
    • Exec in pty:模拟一个终端执行脚本。

输入项目名称和描述:

执行 Jenkins CLI 命令

  • 系统管理 → Configure Global Security → 启用安全
    • TCP port for JNLP agents 选择指定端口,定义一个端口。选择的随机端口,执行命令也会提示端口未设置的错误。
    • 具体命令执行方式,可以在系统管理 → jenkins CLI 中查看。
    • 每一句执行命令的最后都需要跟 --username 用户名和 --password 密码,参数。

澳门新浦京娱乐场网站 13

邮件通知配置

  • 系统管理 → 系统设置 → 邮件通知

    • SMTP 服务器:配置 SMTP 服务器。(不填默认本地运行服务器)
    • 用户默认邮件后缀:注册用户邮件只需填写用户名即可,后缀会加该后缀,如果填写,则会覆盖该配置。
    • SMTP 端口:填写 SMTP 端口。
    • Test configuration:可以进行邮件测试。
  • 构建的项目中 → 构建后操作 → E-mail Notification

    • Recipients:邮件列表,多人用英文逗号间隔。

源码管理使用svn,此处需要注意svn地址应直接给出开发分支,而不是整个仓库,否则无法构建:

监控

  • 构建状态

澳门新浦京娱乐场网站 14

构建状态

颜色 状态
蓝色 完成构建,被认为是稳定构建。
黄色 完成构建,被认为是不稳定的构建。
红色 构建失败。
灰色 禁用了构建。
  • 构建稳定性

澳门新浦京娱乐场网站 15

构建稳定性

图例可以在:http://localhost:8080/legend 中查看。

澳门新浦京娱乐场网站 16

插件相关

  • Email Extension Plugin
    可以扩展邮件功能。比如可以自定义邮件标题或内容的模版。

推荐模版:

<!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">构建结果 - ${BUILD_STATUS}</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>
          <li>构建日志:&nbsp;<a href="${BUILD_URL}console">${BUILD_URL}console</a></li>
          <li>构建&nbsp;&nbsp;Url&nbsp;:&nbsp;<a href="${BUILD_URL}">${BUILD_URL}</a></li>
          <li>工作目录&nbsp;:&nbsp;<a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>
          <li>项目&nbsp;&nbsp;Url&nbsp;:&nbsp;<a href="${PROJECT_URL}">${PROJECT_URL}</a></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">构建日志 (最后 100行):</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=100}</textarea> 
</td> 
</tr>
</table>
</body>
</html>
  • Parameterized Trigger Plugin
    可以根据已经完成构建的结果,触发新Job或者传递参数(参数可以配置成 properties 文件)。具体配置在构建后操作中。

  • Publish Over FTP Plugin 与 FTP publisher Plugin
    可以将构建的产物(例如:Jar)发布到 FTP 中去。公用配置在系统设置中,具体配置在构建后操作中。需要配置 IP、用户名、密码、端口、服务器目录、超时时间等。

  • Jenkins Job Configuration History Plugin
    可以记录配置更改。(用户、更改时间、更改内容等)。

构建触发器,使用轮询SVN更新,只要检测到有更新就触发构建,日程表是轮询周期,这里设置为50分钟,如图所示:

忘记密码补救

  • 修改 JENKINS_HOME/users 目录中 config.xml 文件中 passwordHash 标签中内容为:
#jbcrypt:$2a$10$DdaWzN64JgUtLdvxWIflcuQu2fgrrMSAMabF5TSrGK5nXitqK9ZMS

上面内容是密码:111111 的加密内容。修改后再登录即可。

澳门新浦京娱乐场网站 17

分布式构建

可以让同一套代码,在不同的环境(Windows,Linux 系统)中,编译与测试等。最终将构建的产物自动拷贝到主节点。

  • 系统管理 → 管理节点 → 新建节点

注意:不建议使用标点符号和中文(中文命名没有问题,但 Job 中无法引用)

可以新建节点或从已存在的节点中复制一份配置(如果存在节点才会显示)

构建这一栏,提示Jenkins需要Maven安装路径,点击the system configuration:

节点配置项如下:

  • 节点名称。
  • 节点描述。
  • 最大同时构建数量(必须为数字)。
  • 节点目录。

注意:如果目录不存在,会自动创建目录。你必须对该目录有读写权限,不然会报错:

hudson.util.IOException2: Failed to copy xxxx
  • Labels:标记(又叫做标签)用来对多节点分组,标记之间用空格分隔。

  • 启动方法。

    • Launch agent via Java web Start。
      通过 Java Web Start 连接节点 (适用于所有支持Java程序的系统)。
    • Launch slave via execution of command on the Master
      通过主节点的控制台连接节点,可以执行 shell 脚本,但是脚本需要自己写。(为了方便节点升级而提供的方式)。
    • Let Jenkins control this Windows slave as a Windows service
      让 Jenkins 节点添加到 Windows 服务中。采用这种运行方式,那么这个系统不能登录任何用户。
  • Availability

    • Keep this slave on-line as much as possible
      尽可能的保持节点在线。
    • Take this slave on-line according to a schedule
      根据时间表在线。Scheduled Uptime:超过任务时间后延迟多少分钟离线。如果此数值大于在线总时间(单位:分),就会一直保持在线(必须为数字)。
    • Take this slave on-line when in demand and off-line when idle
      让 Jenkins 根据需求自动连接或者离线。In demand delay:如果有Job需要在此节点构建,需要在任务队列等待多长时间才会进入任务状态进行构建(必须为数字)。Idle delay:多少分钟内如果没有Job需要构建就离线(必须为数字)。
  • Environment variables
    配置节点的环境变量(与主节点相同)。

  • Tool Locations
    配置工具,这里是节点特殊配置,会覆盖主节点的工具配置,好处是在不更改Job配置的情况下,不同环境(如:Windows 和 Linux)Job 配置通用。

澳门新浦京娱乐场网站 18

迁移和备份

只需要迁移或者备份 JENKINS_HOME 中内容即可。

找到Maven栏目,点击Maven安装按钮,在输入框中输入名称和路径:

澳门新浦京娱乐场网站 19

保存后,不要着急启动构建,否则会因权限不足而无法创建/删除目录,需要先将jenkins加入到sudoer名单中:

vi /etc/sudoers

如图,允许jenkins用户允许任何指令:

澳门新浦京娱乐场网站 20

接下来就可以点击左边的导航栏的“立即构建”,再根据构建提示一步一步排查问题:

澳门新浦京娱乐场网站 21

通常为了更好的在pre-build和post-build阶段执行shell脚本,需要jenkins以root身份执行shell命令.

修改Jenkins配置文件:

vi /etc/sysconfig/jenkins

$JENKINS_USER设为root:

澳门新浦京娱乐场网站 22

然后将Jenkins相关路径的所有者修改为root:

chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins

重启Jenkins,可以看到用户已变化:

service jenkins restart
ps -ef | grep jenkins

本文由澳门新浦京娱乐场网站发布于澳门新浦京娱乐场网站,转载请注明出处:澳门新浦京娱乐场网站功能分析与整理,环境部