Linux编译安装Jenkins笔记
下载
使用清华镜像源下载rpm包(https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/)
wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/jenkins-2.303.3-1.1.noarch.rpm
安装
yum insatll jenkins-2.303.3-1.1.noarch.rpm
出现Complete!即安装成功。
查看已安装的jenkins包
[root@centos-7 tmp]# rpm -qa jenkins
jenkins-2.303.3-1.1.noarch
Jenkins安装目录
[root@centos-7 tmp]# rpm -ql jenkins
/etc/init.d/jenkins
/etc/logrotate.d/jenkins
/etc/sysconfig/jenkins
/usr/lib/jenkins
/usr/lib/jenkins/jenkins.war
/usr/sbin/rcjenkins
/var/cache/jenkins
/var/lib/jenkins
/var/log/jenkins
优化Jenkins JVM
注:-Xss参数为每个线程所占用的内存大小,在Jenkins中必须大于等于256k,如果为128则报错Starting Jenkins Error:
Could not create the Java Virtual Machine.无法创建JVM线程。
在/etc/sysconfig/jenkins中修改
JENKINS_JAVA_OPTIONS="-server -Xms2048m -Xmx2048m -Xmn256m -Xss256k -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:InitiatingHeapOccupancyPercent=30 -XX:ParallelGCThreads=8 -XX:ConcGCThreads=4 -Djava.awt.headless=true"
启动Jenkins
systemctl start jenkins
chkconfig --add jenkins
chkconfig jenkins on
启动Jenkins问题一
启动后通过ps查不到jenkins进程,查看jenkins状态如下
问题出现原因
此问题是以为Jenkins默认程序用户jenkins没有权限创建相关的日志目录导致的。
解决办法
将相关目录的属主属组改为jenkins,重新启动即可正常启动
chown -R jenkins:jenkins /var/lib/jenkins
chown -R jenkins:jenkins /var/cache/jenkins
chown -R jenkins:jenkins /var/log/jenkins
systemctl restart jenkins
启动Jenkins问题二
[root@centos-7 tmp]# systemctl start jenkins
Job for jenkins.service failed because the control process exited with error code. See "systemctl status jenkins.service" and "journalctl -xe" for details.
[root@centos-7 tmp]# systemctl status jenkins.service
● jenkins.service - LSB: Jenkins Automation Server
Loaded: loaded (/etc/rc.d/init.d/jenkins; bad; vendor preset: disabled)
Active: failed (Result: exit-code) since Fri 2021-11-12 16:16:59 CST; 13s ago
Docs: man:systemd-sysv-generator(8)
Process: 16493 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=1/FAILURE)
Nov 12 16:16:59 centos-7 systemd[1]: Starting LSB: Jenkins Automation Server...
Nov 12 16:16:59 centos-7 jenkins[16493]: Starting Jenkins File "/usr/bin/java" is not executable.
Nov 12 16:16:59 centos-7 jenkins[16493]: [FAILED]
Nov 12 16:16:59 centos-7 systemd[1]: jenkins.service: control process exited, code=exited status=1
Nov 12 16:16:59 centos-7 systemd[1]: Failed to start LSB: Jenkins Automation Server.
Nov 12 16:16:59 centos-7 systemd[1]: Unit jenkins.service entered failed state.
Nov 12 16:16:59 centos-7 systemd[1]: jenkins.service failed.
原因
根据上面报错“Starting Jenkins File “/usr/bin/java” is not executable.”可知道java没有找到
解决方法
两种方法:
创建/usr/bin/java软连接指向java安装目录
[root@centos-7 tmp]# ln -s /usr/local/jdk8u312-b07/bin/java /usr/bin/java
[root@centos-7 tmp]# ll /usr/bin/java
lrwxrwxrwx. 1 root root 32 Nov 12 16:21 /usr/bin/java -> /usr/local/jdk8u312-b07/bin/java
将java安装目录添加到/etc/rc.d/init.d/jenkins中/usr/bin/java后面
/etc/alternatives/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/lib/jvm/jre-1.8.0/bin/java
/usr/lib/jvm/java-11.0/bin/java
/usr/lib/jvm/jre-11.0/bin/java
/usr/lib/jvm/java-11-openjdk-amd64
/usr/bin/java
/usr/local/jdk8u312-b07/bin/java
上面两种方法均可以
启动Jenkins问题三
如果修改jenkins配置中端口好后会启动失败
[root@centos-7 tmp]# vim /etc/sysconfig/jenkins
[root@centos-7 tmp]# systemctl restart jenkins
[root@centos-7 tmp]# systemctl status jenkins
● jenkins.service - LSB: Jenkins Automation Server
Loaded: loaded (/etc/rc.d/init.d/jenkins; bad; vendor preset: disabled)
Active: active (exited) since Fri 2021-11-12 16:34:44 CST; 6s ago
Docs: man:systemd-sysv-generator(8)
Process: 16733 ExecStop=/etc/rc.d/init.d/jenkins stop (code=exited, status=0/SUCCESS)
Process: 16745 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=0/SUCCESS)
Nov 12 16:34:44 centos-7 systemd[1]: Starting LSB: Jenkins Automation Server...
Nov 12 16:34:44 centos-7 jenkins[16745]: Starting Jenkins [ OK ]
Nov 12 16:34:44 centos-7 systemd[1]: Started LSB: Jenkins Automation Server.
原因
权限不够
解决方法
修改/etc/sysconfig/jenkins中JENKINS_USER为root
重新启动即可。
获取密码
[root@centos-7 test_001]# cat /var/log/jenkins/jenkins.log |grep -A 3 password
Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:
#密码-复制
37d979fc6a2d4667a52210c20c2eb5f4
从日志中获取jenkins登录密码,用于登录
访问Web页面
http://ip:8080(输入自己的ip和jenkins配置中端口)
输入管理员密码
即我们上一步获取的密码。
获取密码
根据上面页面上提示密码地址
[root@centos-7 test_001]# cat /var/lib/jenkins/secrets/initialAdminPassword
e29bbba5f5bf4d528176efc64e81ee3d
安装推荐的插件
安装推荐的插件,这个过程可能需要一定的时间。
创建用户
可以先不创建,先用admin账号登录
实例配置
这里要正确配置,不然在后面配置邮件、企业微信、钉钉等通知时,默认给的链接是这个,如果错误或导致发送邮件中的链接打不开
就绪
既可以访问了
常用配置
修改Jenkins插件镜像地址
Jenkins 安装完成后,默认的插件更新中心地址为 https://updates.jenkins.io/update-center.json
此地址国内访问比较慢,所以建议改为以下地址
维护方 | 镜像中心地址 |
---|---|
Jenkins中文社区 | https://updates.jenkins-zh.cn/update-center.json |
清华大学 | https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json |
华为开源镜像站 | https://mirrors.huaweicloud.com/jenkins/updates/update-center.json |
修改方法:
1.点击manage jenkins——》manage plugins
2.点开高级
修改完成后点击下面的提交,提交后点击立即获取,可以看到如下11秒前已更新来检查此镜像地址是否可用
Jenkins修改admin密码
点击右上角admin——》设置——》输入新密码——》保存——》保存密码后需要重新登录
重新登录
Jenkins修改中文
到插件管理——》搜索插件Localization: Chinese (Simplified)——》如果没有安装则安装,安装后重启Jenkins
在URL地址栏中输入http://ip:8080/restart
然后确认重启
重启后就为中文