hudson&jenkins搭建和使用

本文详细介绍了Jenkins的安装配置过程,包括通过Tomcat容器加载和直接启动war包两种方式。此外,还深入探讨了Jenkins的目录组织结构、插件安装方法、安全控制策略等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.jenkins服务的搭建安装

有两种方式,如下:

方式一:用tomcat容器加载jenkins

1)下载jdk tar包并解压(不需要安装),并配置JAVA_HOME,PATH,CLASSPATH环境变量

2)下载tomcat tar包并解压(不需要安装)

3)在jenkins官网上(https://jenkins-ci.org/)下载jenkins.war包。并将jenkins.war放置到$TOMCAT_HOME/webapps目录下。

4)使用http://hostname:8080/jenkins就可以访问了。

方式二:直接启动jenkins war

1)下载jdk tar包并解压(不需要安装),并配置JAVA_HOME,PATH,CLASSPATH环境变量

2)在jenkins官网上(https://jenkins-ci.org/)下载jenkins.war包。然后使用java -jar jenkins.war启动jenkins web服务

3)使用http://hostname:8080就可以访问了。

 

效果展示如下:



2.jenkins的目录组织结构

jenkins的各种配置信息,没有存储在db中,而是直接存储在jenkins所在的服务器的本地文件中,部分的目录和文件如下:

1/home/${USER}/.jenkins/

jenkins默认的主目录在/home/${USER}/.jenkins/中,这个目录中包括了jenkinsjob任务、各种配置等等,所有jenkins只需要备份这个目录就行了。

2/home/${USER}/.jenkins/jobs/

/home/${USER}/.jenkins/jobs目录下存放的jenkins中的所有构建任务。

3)/home/work/.jenkins/jobs/${job_name}/workspace/

workspace是每个构建job的工作目录,比如有监听svn地址的jobs,会将svn中的内容签出到该目录中。

4)/home/work/.jenkins/jobs/${job_name}/builds/

builds是每个job的历史构建信息,包括构建的日志、构建的产出等等。jenkins任务上显示的“构建历史”就是从该目录下文件中读取出来的。

 

3.jenkins的插件的安装

Jenkins支持很多的plugin,这些plugin极大地丰富了Jenkins的功能。安装plugin有两种方式自动安装和手动安装。

1)自动安装

这种方式非常简单,但前提是Jenkins必须连接网络。通过浏览器进入Jenkins界面,Manage Jenkins->ManagePlugins,在Available标签中,列出了所有的plugin。选中所需plugin前面的复选框,点击“Install without restart”按钮,可以自动安装。安装界面如下图所示:

2)手动安装

在不能联网的情况下,就只能手动安装。手动安装又有两种方式:Jenkins CLI安装plugin和Upload安装plugin。

AJenkins CLI安装plugin

B)Upload安装plugin


4.Jenkins的安全控制|用户管理

        在默认配置下,Jenkins是没有安全检查的。任何人都可以以匿名用户身份进入Jenkins,设置Jenkins和Job,执行build操作。但是,Jenkins在大多数应用中,尤其是暴露在互联网的应用中,安全控制是非常重要的。安全控制主要解决两个问题:哪些用户可以进入Jenkins;进入Jenkins的用户可以做些什么事。

       Jenkins提供了用户认证和权限控制两种维度的安全策略:

       1) Security Realm(安全域):决定用户名和密码,且指定用户属于的组。

       2) Authorization Strategy(授权策略):分配用户执行某些操作的权限。

       通过Manage Jenkins->Configure Global Security->Enable security,就可以进入Jenkins安全控制界面,如下图所示:


1 Security Realm

1.1 Delegate to servlet container

       如果你的Jenkins运行在像Tomcat和GlassFish等服务器上,这些服务器本身就有安装控制,选择这种安全策略,就可以非常简单地让服务器接管Jenkins的安全控制问题。

1.2 Jenkins's own user database

       Jenkins本身有个数据库来管理用户,不过这个数据库的容量比较小,当有大量用户时,这种策略就不合适。在这种策略下,如果允许任何人通过注册的形式Jenkins的话,可以勾上"Allow user to sign up"。这样非用户在进入Jenkins界面后,可以通过点击右上角的”sign up“先注册,然后再登陆使用Jenkins。如果不允许他人随便注册和使用该Jenkins,就要取消"Allow user to sign up"复选框。此时如果想添加新的用户,只能由已注册用户通过Manage Jenkins-> Manage Users进入User Database界面,点击Create User来注册新的用户。注册新用户界面如下图所示:


1.3 LDAP

       很多组织用LDAP目录来管理用户,Jenkins也是支持这种安全策略的,不过需要进行一些参数的配置,配置方法可以参考LDAP Plugin Wiki。如果没有特殊要求,大部分的高级设置都可以空着。

1.4 Unix user/group database

       如果Jenkins安装在Unix机器上,可以将Unix机器上的用户和组应用到Jenkins。登陆Jenkins,只需要输入Unix的用户名和密码就可以。

2 Authorization Strategy

2.1 Anyone can do anything

       这种是最简单,同时也是最不安全的授权策略,任何人都可以对Jenkins进行任何操作。

2.2 Legacy mode

       这种策略比较极端:admin用户拥有系统的所有权限,其他所有用户(包括anonymous)只有只读权限。

2.3 Logged-in users can do anything

       这种策略相对于”Anyone can do anything“要好一点,只有登陆Jenkins的用户,才有进行所有操作的权限。

2.4 Matrix-based security

       Jenkins安装以后,会有一个anonymous用户,通过该匿名用户进入系统后,创建一个administrator,分配它系统所有的权限,同时限制anonymous用户的权限。如下图所示:


       然后以administrator身份登录Jenkins,通过他根据需要给其他用户分配权限,从而实现权限的集中控制。

2.5 Project-based Matrix Authorization Strategy

       该策略是将前面Matrix-base安全策略应用到单个project中。Matrix-base中的权限是针对整个系统的,而Project-based是进一步设置用户在每个具体project上的权限。在这种策略下,具体project的configure界面中,会出现”Enable project-based security“复选框,选中后就可以设置用户能够对该project操作的权限。


5.Jenkins权限控制重置

 如果权限设置错误,导致自己都无法登陆Jenkins,可以进行如下操作:

       1)停止Jenkins;

       2)用编辑器打开$JENKINS_HOME中的config.xml;

       3)将<useSecurity>true</useSecurity>元素中的true改为false;

       4)将<authorizationStrategy>和<securityRealm>元素的内容删掉;

       5)启动Jenkins。

这些步骤操作完后,Jenkins又回到最初没有安全检查的状态,任何人都可以进入Jenkins执行任何操作。如果这种方法还是不成功,可以尝试重命名或者删除config.xml文件.


6.hudson/jenkins命令行CLI交互工具

部署好hudson/jenkins后,一般都是通过hudson/jenkins提供的web界面来操作hudson/jenkins。而有些场景则需要通过命令来操作jenkins,比如像用脚本来操作hudson/jenkins。在jenkins提供的web界面中有一次对jenkins的命令行的简单介绍,位置在系统管理 -> jenkins CLI

执行方法如下:

java -jar jenkins-cli.jar -s ${HUDSON_URL} command

可用的command命令有:


比如使用jenkins-cli.jar去触发一个构建任务:

java -jar jenkins-cli.jar -s http://xxxip:8080/ build my-test-job   #使用命令行工具触发my-test-job任务

学习资料参考于:

http://blog.csdn.net/jmyue/article/details/9376237

http://blog.csdn.net/jmyue/article/details/9763021

http://www.cnblogs.com/lipijin/p/4027029.html



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值