jenkins-安装
CentOS7安装
-
安装jdk 参照CentOS7安装JDK。
-
安装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服务。
- 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 ```