目录
1.下载yum源
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
2.安装jenkins
如果没有jdk,请先安装jdk
yum install jenkins
3.启动,停止
sudo systemctl start jenkins
sudo systemctl stop jenkins
启动报错:
Job for jenkins.service failed because the control process exited with error code
解决方法:
查看java安装位置
which java
/usr/java/default/bin/java
查看jenkins使用java的位置
less /etc/init.d/jenkins
candidates="
/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
发现服务器已安装java目录和jenkins使用java的对不上,我们这里添加一个软连接使2个对上就行了
cd /usr/bin
ln -s /usr/java/default/bin/java java
#再次检查java位置 发现java位置已经改变
which java
/usr/bin/java
#再次启动发现已经可以了
sudo systemctl start jenkins
4.修改端口启动及项目前缀
vim /usr/lib/systemd/system/jenkins.service
Environment="JENKINS_PORT=8080"
//添加前缀
Environment="JENKINS_PREFIX=/jenkins"
5.浏览器登录
- 访问地址 http://ip:8080/
- 根据提示输入初始密码
- 选择安装推荐的插件
- 创建管理员用户
在安装推荐的插件的时候遇到报错No such plugin: cloudbees-folder
解决过程
- 在登录地址后面加上/manage
- 选择插件管理(Manage Plugins)->高级(advanced)
- 选择上传插件(upload plugins)
- 提示插件上传失败
5.删除已经安装的jenkins版本,重新下载2.277.1版本的jenkins,问题解决,我们这里升级到2.332.2版本
rpm -e jenkins
rm -rf /var/lib/jenkins
rm -rf /usr/lib/jenkins
rm -rf /var/cache/jenkins
#查找版本
yum search jenkins --showduplicates
6.配置jenkins
1.配置JDK
选择Global Tool Configuration
填入服务器上已经安装好的JAVA_HOME路径
2.配置git
因为要拉git上的代码,所以必须配置
也是填入已经安装好的git地址,如果不知道已经安装好的地址,可以通过命令获得
whereis git
然后后面加上/bin/git
3.配置maven
同样填入服务器已经安装好的maven路径
如果不知道maven路径可以通过命令获得
[root@service1 workspace]# mvn -v
Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T15:58:13+08:00)
Maven home: /usr/share/apache-maven
4.创建凭证
选择Manage Credentials,然后添加凭据
5.测试
选择新建Item
选择Freestyle project
填入项目git地址,然后保存
输入git地址报错The requested URL returned error: 503
检查发现是这个地址是通过防火墙dnat转发的
less /etc/sysconfig/iptables
-A PREROUTING -p tcp -m tcp --dport port -j DNAT --to-destination ip:port
改成nginx发现问题解决
vim /data/nginx/conf/nginx.conf
server {
access_log logs/xx.log main;
listen port;
proxy_connect_timeout 8s;
proxy_timeout 24h;
proxy_pass ip:port;
}
构建,如果构建失败,报错jenkins stderr: fatal: Couldn't find remote ref,那有可能是缓存问题,我们把这个项目删除,然后重新创建一个项目就好了,
查看构建日志
在服务器进入到这个目录,发现项目已经拉取下来了
[root@service1 workspace]# cd /var/lib/jenkins/workspace/project-test
[root@service1 project-test]# ls
pom.xml README.md src