zhaoyu@home:~$

jenkins-安装

CentOS7安装

  1. 安装jdk 参照CentOS7安装JDK。

  2. 安装jenkins

    [root@node2 ~]# yum -y install wget
    [root@node2 ~]# cd /etc/yum.repos.d/
    [root@node2 yum.repos.d]# wget -O http://pkg.jenkins.io/redhat/jenkins.repo
    [root@node2 yum.repos.d]#rpm --import http://pkg.jenkins.io/redhat/jenkins.io.key
    

    如果前面有执行过rpm –import会失败,直接跳过

    [root@node2 yum.repos.d]# yum install -y jenkins
    [root@node2 ~]#  systemctl start jenkins
    

    在启动jenkins时,我碰到启动失败的问题。

    journalctl -xe
    

    通过以上命令查看,错误处提示/usr/bin/java: No such file。没有找到java路径。

修改jenkins的配置文件:

vi /etc/init.d/Jenkins

在candidates中的第一行添加java路径,如下:

candidates="
/opt/soft/jdk1.8.0_60/bin/java
/etc/alternatives/java
/usr/lib/jvm/java-1.6.0/bin/java
/usr/lib/jvm/jre-1.6.0/bin/java
/usr/lib/jvm/java-1.7.0/bin/java
/usr/lib/jvm/jre-1.7.0/bin/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/lib/jvm/jre-1.8.0/bin/java
/usr/bin/java
"

重新加载系统配置:

systemctl daemon-reload

jenkins默认端口是8080,和tomcat等端口重复,所以一般会修改为其他端口

vi /etc/sysconfig/jenkins

找到如下代码修改端口,如果你不允许外部直接访问jenkins,使用nginx等http服务器访问,那么修改JENKINS_LISTEN_ADDRESS为 “127.0.0.1”。

JENKINS_PORT="8881"
JENKINS_LISTEN_ADDRESS=”127.0.0.1”

重启jenkins服务。

  1. nginx配置 在nginx配置中添加配置文件,内容如下: ``` upstream jenkins { server 127.0.0.1:8881; } server { listen *:80;

server_name jenkins.domain.cn; # 请修改为你的域名 charset utf-8;

#文件最大限制 client_max_body_size 10m;

proxy_redirect off; proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Host $host:$server_port; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_next_upstream error timeout invalid_header http_502 http_503 http_504; proxy_ignore_client_abort on; proxy_read_timeout 180; proxy_buffering on; proxy_buffer_size 8k; proxy_buffers 8 8M;

gzip on; gzip_min_length 1000; gzip_types text/plain text/css application/json text/xml application/xml application/xml+rss text/javascript;

location / { proxy_pass http://jenkins; proxy_redirect default; proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Host $host:$server_port; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }

重新加载nginx配置,就可以使用域名访问jenkins了。
4. jenkins配置

首次进入jenkins需要输入初始化密码路径在

/var/lib/jenkins/secrets/initialAdminPassword

插件页面选择自定义安装插件,会加载默认的插件排除那些明显不需要的插件(如svn等),再选择Publish Over SSH,SSH,Gitlab,
git Parameter等插件。
	
创建管理员帐号选择使用admin

实例配置选择:接受并完成。
1. 登录jenkins,用户名为admin,密码是上面的初始化密码。

登录后可能会碰到页面一片空白的情况,是因为https的问题,输入网址`http://localhost:8080/jenkins/pluginManager/advanced`,
输入网址打开后滑动到页面下方,最底下有个【升级站点】,把其中的https链接改成http链接,然后点击提交。 
`http://updates.jenkins.io/update-center.json`。重启jenkins服务器即可。

### Jenkins 执行权限:
jenkins默认的执行用户是jenkins,在自动部署等场景下,权限不够,可以根据实际情况修改为root,或者www等用户。
1. 修改默认用户

vi /etc/sysconfig/jenkins

找到$JENKINS_USER改为 “root”:

$JENKINS_USER=”root”

2. 更改Jenkins home,webroot和日志的所有权:

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

3. 重新启动Jenkins并检查用户是否已被更改

service jenkins restart


### 修改admin默认密码
修改 JENKINS_HOME/users/admin_* 目录下的config.xml 文件, JENKINS_HOME在centos中默认为/var/lib/jenkins。

修改config.xml,找到 passwordHash部分,替换原有的hash值

把 `#jbcrypt:$2a$10$DdaWzN64JgUtLdvxWIflcuQu2fgrrMSAMabF5TSrGK5nXitqK9ZMS`
修改为 `#jbcrypt:$2a$10$4NW.9hNVyltZlHzrNOOjlOgfGrGUkZEpBfhkaUrb7ODQKBVmKRcmK`
后者是123456的hash值

重启Jenkins 

/etc/init.d/jenkins restart ```