jenkins安装配置

1、下载jenkins.war放入tomcat/webapp下

2、运行后输入密码解锁jenkins

2、启动时tomcat警告或报错,报错信息是内存不够,需要在运行jekin的tomcat下修改conf/context.xml配置,在context节点下添加如下配置扩大缓存内存:

<Context>
   <Resources cachingAllowed="true" cacheMaxSize="102400" />
</Context>

3、输入后会卡住,这时需要修改/root/.jenkins下的hudson.model.UpdateCenter.xml文件,把默认内容

<?xml version='1.0' encoding='UTF-8'?>
 <sites>
   <site>
    <id>default</id>
    <url>http://updates.jenkins-ci.org/update-center.json</url>
   </site>
</sites

的url替换为:

http://mirror.xmission.com/jenkins/updates/update-center.json

原因是:这个地址在外国的服务器,因为墙的原因,下载初始化界面所需插件不了,就一直处于等待状态

4、点击推荐插件安装完成后又会界面卡死,这是因为/root/.jenkins/config.xml的这个值:

 authorizationStrategy  class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy"
这个权限对应“登录用户可以做任何事"。不知道为啥登录不了所以做不了任何事。
替换为class="hudson.security.AuthorizationStrategy$Unsecured"/>
5、重启tomcat后进入点击系统配置进行配置

 6、如果不是直接发布到tomcat,而是采用ssh把构建好的war包上传到指定服务器指定位置,那么可以使用SSH方式,步骤如下:

a、安装 publish over ssh 插件,点击-系统管理-系统插件-可选插件中 直接搜 publish over ssh 点击安装,安装完之后,重启jenkins

b、配置SSH:点击- 系统管理-系统设置-拉到最下面就有这个窗口了,如果系统不能读取/root/.ssh/id_rsa,有可能是权限问题,或者直接把私钥全部拷贝到key输入框中

 其中私钥的生成步骤插曲如下:

----------------------------------------------------------SSH私钥生成 begin------------------------------------------

其实很简单,只需要两个指令即可。

ssh-keygen -t rsa -P ''
ssh-copy-id -i ~/.ssh/id_rsa.pub <IP地址>

假设有两台服务器,A是Jenkins构建服务器,B是应用服务器,A构建好应用之后,将包传到B进行发布。

在A上面执行 ssh-keygen -t rsa -P '', -P后面两个单引号表示密码为空,然后一直回车即可

之后会在~/.ssh目录下创建两个文件id_rsa(私钥),id_rsa.pub(公钥)

接下来继续在A上执行 ssh-copy-id -i ~/.ssh/id_rsa.pub <IP>,表示将公钥发给B,发到B服务器的~/.ssh目录下,如果上传私钥成功就可以到B服务器上查看~/.ssh/authorized_keys这个文件是否已创建,然后使用 ssh B服务器的ip地址 免密连接到B服务器,如果能免密连接上则证明配置成功

参考:https://www.cnblogs.com/jager/p/5986563.html

----------------------------------------------------------SSH私钥生成 end------------------------------------------

   c、系统SSH私钥配置好后,就可以在各个工程下配置具体上传的位置了,点击具体工程进入-->配置-->构建后操作 选择 send build artifacts over SSH ,弹出工程SSH的配置

 配置好后,就是设置权限和用户:

添加用户:https://www.cnblogs.com/kevingrace/p/6019707.html

设置权限:https://blog.whsir.com/post-1785.html

1、安装Role-based Authorization Strategy插件

系统管理-管理插件-可选插件中安装Role-based Authorization Strategy

安装后重启jenkins使其生效

2、在系统管理-Configure Global Security-授权策略-Role-Based Strategy,勾选Role-Based Strategy保存

3、此时在系统管理下,就可以看到Manage and Assign Roles了

4、管理角色

 

Global roles-Role to add-添加一个kf,只勾选一个Overall-Read

 

Project roles-Role to add-添加一个Team-kf,Pattern填写kf.*(这里kf.*表示以kf开头的项目)

 

5、分配角色

 

Global roles-User/group to add-添加一个已存在的用户,并勾选上kf

 

Item roles-User/group to add-继续添加一次用户,并勾选上Team-kf,授予kf开头的项目权限

 

6、创建项目

我这里创建了两个项目

当whsir用户登录时候,只能看到kf-123的项目,并且无法进行系统设置

参考文章:

http://www.jianshu.com/p/c420bca3a855

http://zengestudy.blog.51cto.com/1702365/1782494

jenkins执行脚本时权限不够的解决方法:

yum安装的Jenkins 配置文件默认位置/etc/sysconfig/jenkins
默认jenkins服务以jenkins用户运行,这时在jenkins执行ant脚本时可能会发生没有权限删除目录,覆盖文件等情况。可以让jenkins以root用户运行来解决这个问题。

1.将jenkins账号分别加入到root组中
gpasswd -a jenkins root

2.修改/etc/sysconfig/jenkins文件中,
#user id to be invoked as (otherwise will run as root; not wise!)
JENKINS_USER=root
JENKINS_GROUP=root   (这个配置可以不加)

可以修改为root权限运行
重启服务,搞定。

原文地址:https://www.cnblogs.com/javabg/p/10521864.html