您的位置:首页 > 其它

Jenkins 权威指南(中文版) 第四章 配置Jenkins的Server

2016-06-08 16:11 393 查看


4.1 介绍

       当你开始使用Jenkins创造你的构建工作的时候,你需要做一些配置,以保证Jenkins服务器在你的特定环境中进展顺利。Jenkins是高度可配置的,虽然大多数的选项设置有合理的默认值,Jenkins在系统路径和环境变量下能够找到合适的构建工具,但确切地知道Jenkins构建服务器正在做什么对你来说终究是好的。

       Jenkins很容易配置的。管理员界面非常直观,并且上下文在线帮助(蓝色问号图标旁边的每个字段)非常的详细和准确。在本章中,我们将着眼于如何详细配置基本的服务器,包括如何使Jenkins配置不同版本的Java,不同的构建工具如Ant和Maven以及SCM工具,如CVS和Subversion。我们将着眼于更高级的服务器配置,如使用其他的版本控制系统或通知工具等。


4.2 配置面板---Jenkins的管理页面

       你几乎可以配置Jenkins的方方面面(如图Figure 4.1, “You configure your Jenkins installation in the Manage Jenkins screen”),你也可以直接在Jenkins应用程序的搜索框输入"manage"可以直接进入到这个页面。此配置页面取决于你安装了什么样的插件,如果你看到和我的不一样不要感到惊讶。



Figure 4.1. You configure your Jenkins installation in the Manage Jenkins screen


4.3 配置系统环境

        Jenkins管理员页面最重要的就是系统界面(Figure 4.2, “Systemconfiguration in Jenkins”)。在这里,你可以设置大多数工具,而这些是Jenkins日常工作需要的。默认页面包含许多不同的区域,每个区域都是针对不同的配置。此外,当你安装插件的时候,其系统范围内的配置也常常是在这里配置。



Figure 4.2. System configuration in Jenkins

       这个配置页面让你配置Jenkins安装的全局信息,你也可以定义全局参数,以及构建过程的外部工具。你可以在第一部分中定义一些通用的系统参数。Jenkins的主目录显示在第一行以供参考。通过这种方式,可以检查你是否工作在你所期望的工作目录。请记住,你可以设置JENKINS_HOME环境变量更改该目录。(see Section 3.4, “The Jenkins HomeDirectory”).

       System Message配置选项是有一些目的的。System Message会显示在Jenkins的主页的顶部。你可以使用HTML标签,所以它包括服务器的名称和描述,自定义构建服务器。你也可以用它来显示信息给所有用户,如宣布系统故障等。

       Quiet Period是针对SCM等工具产生作用的,例如CVS等,你可以提交代码一次接着一次,而不是将这些提交代码的次数作为一个分组放在一个原子事物中。通常情况下,Jenkins只要检测到源代码库有变化酒会触发构建,但是这并不适合所有环境。如果你在使用像CVS工具,你不想只要第一个变化来Jenkins就执行构建,因为代码仓库此时可能将处于不一致的状态,直到所有的修改已经提交这种状态才会消失。你可以使用QuietPeriod字段来避免这样的问题。如果你在此处设置了值,Jenkins将等到在指定的秒数前没有检测到任何改变才触发构建。这个有助于确保所有的修改已经提交到仓库,并且仓库是在一个稳定的状态的时候才开始构建。

       对于大多数版本控制工具,如Subversion, Git,提交是原子性的。这意味着,多个文件的改变被提交到仓库是一个独立的单元,源代码在仓库中的状态在任何时候都是稳定的。然而,一些团队仍然使用其中一个合乎逻辑的变更集作为多个commit操作。在这种情况下,你可以使用QuietPeriod字段,以确保构建总是使用稳定源代码版本。

       Quiet Period值其实是在默认的系统范围内的值,如果需要的话,可以为每个项目单独重新定义这个数值。

      你还可以在这里管理用户帐户和用户权限。默认情况下,Jenkins让任何用户做任何事情。 如果你想要一个更严格的办法,你需要在这里激Jenkins security。安全领域。有很多方法可以做到这一点,我们将在第7章看Jenkins的这一方面(第7章 Jenkins的安全)。


4.4 配置全局属性

        全局属性(see Figure 4.3, “Configuring environment variables inJenkins”)部分可让你定义一些属性,并且这些属性可以用于所有的构建工作中。您可以添加尽可能多的你想要的属性,并在你的构建工作(buildjobs)中使用它们。Jenkins会让他们在可用你的构建工作环境中可用,让你可以自由地在Ant或者 Maven中使用这些变量构建脚本。
注意你不应该把点号(“.”)作为属性名,因为Jenkins不能正确地处理。 所以ldapserver或LDAP_SERVER是好的,但不可以使用ldap.server。



        你使用这些变量通常有两种方法。首先,你可以在你的构建脚本中直接使用它们,使用$ {key}或$key(在这个例子中,你应该使用${ldapserver}或$ldapserver),这是最简单的方法,但意味着你的构建工作和构建脚本之间的紧耦合。如果你的脚本使用不同的属性名(含点号),你也可以在构建工作的配置中通过传输值生成脚本。In Figure 4.4,“Using a configured
environment variable”中,我们通过定义在Figure 4.3,“Configuring environment variables in Jenkins”图中的ldapserver属性值传输到到Maven构建工作中。使用-d选项意味着该值将可使用在构建脚本中。这是一种灵活的方法,因为我们可以在Jenkins中指定定义的全局属性,然后在我们构建脚本中使用这些特定的脚本变量。InFigure 4.4, “Using a configured environment variable”中,例如,ldapserver属性将可从Maven内部通过${ldap.server}访问。




4.5 配置JDK

       从历史上看,Jenkins最常见的用途之一是建立Java应用程序。所以,Jenkins自然为Java提供了优异的内置支持。

       默认情况下,Jenkins将使用它在系统上找到的任何版本的JDK去构建Java应用程序,这通常也是Jenkins本身运行的JDK版本.然而,对于生产环境下的服务器,你可能需要比这更多的控制。例如,你的Jenkins出于性能的考虑,可能正在运行在JDK 6 版本下。然而,你的生产服务器可能是下运行JDK 5或JDK 4.大公司在他们的生产环境中涉及到Java版本的升级时往往持谨慎态度。建立一个接近你的正在运行的生产服务器上使用Java版本,在任何情况下这都是一个明智的做法。当一个应用程序在Java
1.4编译通常会运行Java6下,反过来并非总是如此。或者你可能需要为不同的应用程序使用不同版本的Java去构建。

        
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: