Docker方式:
如果在安装社区推荐插件时报错,网络延迟,则建议采用官方yum安装
遇到一个问题:公司局域网openstack虚拟机安装时,修改了镜像仍报错,但是自己电脑vmware虚拟机正常,暂时无法排查出原因,或许是网络问题。
1.启动docker,下载Jenkins镜像文件
docker pull jenkins/jenkins
2.创建Jenkins挂载目录并授权权限
我们在服务器上先创建一个jenkins工作目录 /var/jenkins_mount,赋予相应权限,稍后我们将jenkins容器目录挂载到这个目录上,这样我们就可以很方便地对容器内的配置文件进行修改。 如果我们不这样做,那么如果需要修改容器配置文件,将会有点麻烦,因为虽然我们可以使用docker exec -it --user root 容器id /bin/bash 命令进入容器目录,但是连简单的 vi命令都不能使用
mkdir -p /var/jenkins_mount
chmod 777 /var/jenkins_mount
3.创建并启动Jenkins容器
- -d 后台运行镜像
- -p 10240:8080 将镜像的8080端口映射到服务器的10240端口
- -p 10241:50000 将镜像的50000端口映射到服务器的10241端口
- -v /var/jenkins_mount:/var/jenkins_mount /var/jenkins_home目录为容器jenkins工作目录,我们将硬盘上的一个目录挂载到 这个位置,方便后续更新镜像后继续使用原来的工作目录。这里我们设置的就是上面我们创建的 /var/jenkins_mount目录
- -v /etc/localtime:/etc/localtime 让容器使用和服务器同样的时间设置。
- –name myjenkins 给容器起一个别名
docker run -d -p 10240:8080 -p 10241:50000 \
-v /var/jenkins_mount:/var/jenkins_home \
-v /etc/localtime:/etc/localtime \
--name myjenkins jenkins/jenkins
4.查看jenkins是否启动成功,如下图出现端口号,就为启动成功了
docker ps -l
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xT3lzXzd-1637829416420)(C:\Users\86166\AppData\Roaming\Typora\typora-user-images\image-20211125142717418.png)]
5.查看docker容器日志
docker logs myjenkins
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ih4DQJlE-1637829416422)(C:\Users\86166\AppData\Roaming\Typora\typora-user-images\image-20211125142754632.png)]
6. 初始化配置
docker方式安装完成后,需要访问页面进行配置,创建账号、初始化安装等。
1.访问页面 http://localhost:10240
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0uqI0VH9-1637829416424)(C:\Users\86166\AppData\Roaming\Typora\typora-user-images\image-20211125143139179.png)]
提示:复制密码到上述输入框
cat /var/jenkins_mount/secrets/initialAdminPassword
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QvSzpOSw-1637829416425)(C:\Users\86166\AppData\Roaming\Typora\typora-user-images\image-20211125143504369.png)]
7. 更新镜像
#查找配置文件
find / -name 'default.json'
#文件所在路径,该json文件就是插件管理的信息
/var/jenkins_home/updates/default.json
#进入updates目录下执行 命令
为了替换默认镜像的软件下载地址
默认源:https://updates.jenkins.io/update-center.json
sed -i 's/https:\/\/2.zoppoz.workers.dev:443\/http\/updates.jenkins-ci.org\/download/https:\/\/2.zoppoz.workers.dev:443\/https\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/https:\/\/2.zoppoz.workers.dev:443\/http\/www.google.com/https:\/\/2.zoppoz.workers.dev:443\/https\/www.baidu.com/g' default.json
#更换地址
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
点击 jenkins 的系统管理 --> 插件管理,打开插件管理页面,如图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-buwyhhrX-1637829416426)(C:\Users\86166\AppData\Roaming\Typora\typora-user-images\image-20211125141944145.png)]
在插件管理页面点击高级(Advanced),如下图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MN5k4Bfp-1637829416428)(C:\Users\86166\AppData\Roaming\Typora\typora-user-images\image-20211125142113046.png)]
在高级选项卡找到更新网站(Update Site)菜单项,将默认网站更新为 https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json 并提交。
官方yum方式安装
1、配置源信息
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. 开始安装
yum install -y epel-release # repository that provides 'daemonize'
yum install -y java-11-openjdk-devel
yum install -y jenkins
3. 配置镜像源
和上述docker安装方式一致,在安装完后进行配置。
注意:不建议采用openjdk,后续配置集成环境时,需要开发版jdk
jenkins启动报错:Starting Jenkins bash: /usr/bin/java: 没有那个文件或目录
知道jenkins依赖jdk ,我在本机已经安装了jdk ,并且配置了环境变量,可还是无法启动 ,看这报错信息似乎是找不到java,于是猜想jenkins配置文件中,可能指定了默认的jdk位置
-
方式一:修改配置jenkins文件
vi /etc/init.d/jenkins
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f7YLfYAs-1637829416428)(C:\Users\86166\AppData\Roaming\Typora\typora-user-images\image-20211125153812696.png)]
如图,加入本机jdk的位置,注意:指定到 bin目录的java层 ,后执行以下命令使配置生效,并启动jenkins
systemctl daemon-reload
systemctl start jenkins # 启动
- 方式二: 建立软连接
ln -s /opt/jdk1.8.0_144/bin/java /usr/bin/java
两种方式都可以,方式二更加简便。
nkins
systemctl daemon-reload
systemctl start jenkins # 启动
- 方式二: 建立软连接
ln -s /opt/jdk1.8.0_144/bin/java /usr/bin/java
两种方式都可以,方式二更加简便。