centos7 jenkins安装、迁移

Jenkins安装需要Java环境

docker安装jenkins

CentOS停止维护后,更换了服务器系统。使用docker安装jenkins,安装方便,而且jenkins数据迁移的时候也方便。

拉取 jenkins镜像

# docker pull jenkins/jenkins

如果报错:Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

则修改 /etc/docker/daemon.json,如果没有该文件,则新建。添加 registry-mirrors:镜像源地址。

{
"registry-mirrors": ["https://docker.1ms.run", "https://docker.1panel.live/", "https://mirror.aliyuncs.com"]
}

重启docker

 sudo systemctl daemon-reload
 sudo systemctl restart docker

再次拉取 jenkins镜像。

如果是 jenkins 数据迁移的话,先把原 jenkins 文件夹,复制到新服务器的对应的文件夹下,然后再启动 jenkins。

待 Jenkins数据迁移好后,运行。

docker run -u root -it --name jenkins -p 8080:8080 -p 50000:50000 -v /usr/local/jenkins_home:/var/jenkins_home -v /usr/local/maven:/usr/local/maven -v /usr/local/java:/usr/local/java -v /usr/local/nodejs:/usr/local/nodejs -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker -d jenkins/jenkins:2.263.1

-u root 必须要在root下运行。

安装Jenkins

添加Jenkins库到yum库,Jenkins将从这里下载安装。

#下载Jenkins库
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo 
#导入key
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

安装

[root@centos ~]# yum install -y jenkins

通过上面命令后,Jenkins安装目录里面实际上没有任何文件,是空的。

只有在Jenkins第一次访问时候,会下载文件准备。

启动

[root@centos ~]# systemctl start jenkins 

如果start jenkins提示找不到jenkins.service,重启系统就可以了,特别是通过rpm包安装的时候,安装完毕启动jenkins,提示找不到jenkins.service。 

相关配置

Jenkins安装目录

/var/lib/jenkins

Jenkins配置文件地址

/etc/sysconfig/jenkins

 查看Jenkins的配置文件

JENKINS_HOME 是Jenkins的主目录,Jenkins工作的目录都放在这里,存储文件的地址、插件、生成的文件都在这个目录下

## Path:        Development/Jenkins

## Description: Jenkins Automation Server

## Type:        string

## Default:     "/var/lib/jenkins"

## ServiceRestart: jenkins

#

# Directory where Jenkins store its configuration and working

# files (checkouts, build reports, artifacts, ...).

#

JENKINS_HOME="/var/lib/jenkins"

JENKINS_USER 是Jenkins的用户,拥有  $JENKINS_HOME 和 /var/log/jenkins 的权限

## Type:        string

## Default:     "jenkins"

## ServiceRestart: jenkins

#

# Unix user account that runs the Jenkins daemon

# Be careful when you change this, as you need to update

# permissions of $JENKINS_HOME and /var/log/jenkins.

#

JENKINS_USER="jenkins"

JENKINS_PORT 是Jenkins的端口,默认端口是8080

## Type:        integer(0:65535)

## Default:     8080

## ServiceRestart: jenkins

#

# Port Jenkins is listening on.

# Set to -1 to disable

#

JENKINS_PORT="8080"

在启动Jenkins时遇到问题

[root@centos ~]# systemctl start jenkins 
Starting jenkins (via systemctl): Job for jenkins.service failed because the control process exited with error code.

查看错误详情

[root@centos ~]# systemctl status jenkins.service

是因为Jenkins 未加载到 java 环境的问题,实际 java环境已经配置好。

直接修改 Jenkins 的启动文件,并在 candiddates 参数内追加 java 的环境变量。

[root@centos ~]# vim /etc/rc.d/init.d/jenkins

如下图所示

启动Jenkins

  • 安装成功后Jenkins将作为一个守护进程随系统启动
  • 系统会创建一个“jenkins”用户来允许这个服务,如果改变服务所有者,同时需要修改/var/log/jenkins, /var/lib/jenkins, 和/var/cache/jenkins的所有者
  • 启动的时候将从/etc/sysconfig/jenkins获取配置参数
  • 默认情况下,Jenkins运行在8080端口,在浏览器中直接访问该端进行服务配置
  • Jenkins的RPM仓库配置被加到/etc/yum.repos.d/jenkins.repo

Jenkins下载rpm安装

1、下载 Redhat Jenkins Packages  下载合适的版本

2、安装命令

sudo rpm -ih jenkins-2.73.2-1.1.noarch.rpm

自动安装完成之后: 
/usr/lib/jenkins/jenkins.war    WAR包 
/etc/sysconfig/jenkins       配置文件
/var/lib/jenkins/       默认的JENKINS_HOME目录(做迁移的时候备份的文件是JENKINS_HOME,有的是jenkins)
/var/log/jenkins/jenkins.log    Jenkins日志文件

打开jenkins 

在浏览器中访问 
首次进入会要求输入初始密码
初始密码在:/var/lib/jenkins/secrets/initialAdminPassword

Jenkins迁移

将Jenkins数据文件夹(如 /var/lib/jenkins)打成压缩包,移动到新服务器解压缩。解压缩之前要关注一下是否已经有jenkins用户。如果有解压缩后,文件自动就是Jenkins用户的。

注意必须用压缩包形式移动,不能用复制的方式,使用压缩包解压缩后文件所属的用户 还是jenkins。

如果迁移后,Jenkins数据文件夹及其文件都是jenkins用户,但是在网站访问的时候报以下错

Jenkins throwing error: jenkins.model.InvalidBuildsDir: ${ITEM_ROOTDIR}/builds does not exist and probably cannot be created

方法一: 使用root用户来管理jenkins(简单粗暴)
由于jenkins自动部署会用到shell命令,使用root用户会避免遇到更多的问题(但是实际生产中,更推荐不要使用root用户)
$ vim /etc/sysconfig/jenkins # 打开配置文件
    $JENKINS_USER="root" # 修改$JENKINS_USER变量为root,并去掉当前行注释
#修改Jenkins相关文件夹用户权限(必须修改)
$ chown -R root:root /var/lib/jenkins
$ chown -R root:root /var/log/jenkins
$ chown -R root:root /var/cache/jenkins
#重启Jenkins服务并检查运行Jenkins的用户是否已经切换为root
$ service jenkins restart  
$ ps -ef | grep jenkins  # 查看Jenkins进程所属用户
方法二:新建用户【推荐】
$ useradd zcjenkins #添加新用户zcjenkins

$ vim /etc/sysconfig/jenkins # 打开配置文件
    $JENKINS_USER="zcjenkins" # 修改$JENKINS_USER变量为root,并去掉当前行注释

#修改Jenkins相关文件夹用户权限(必须修改)
$ chown -R zcjenkins:zcjenkins /var/lib/jenkins
$ chown -R zcjenkins:zcjenkins /var/log/jenkins
$ chown -R zcjenkins:zcjenkins /var/cache/jenkins

Jenkins如果出现部署docker时出错

INFO: I/O exception (java.io.IOException) caught when processing request to {}->unix://localhost:80: Permission denied

需要改变目录权限

  usermod -a -G docker jenkins

https://blog.youkuaiyun.com/m0_37027631/article/details/104987046

https://www.jianshu.com/p/143754b20cb3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值