Linux下Docker方式Jenkins安装和配置

一、下载&安装

Jenkins官方Docker仓库地址:https://hub.docker.com/r/jenkins/jenkins

从官网上可以看到,当前最新的稳定版本是 jenkins/jenkins:lts-jdk17。建议下在新的,后面依赖下不来

所以,我们这里,执行docker pull命令,下载该版本的Jenkins的镜像安装包;

复制代码
docker pull jenkins/jenkins:lts

之后,新增一个Jenkins的工作目录;

复制代码
mkdir -p /var/jenkins_home

之后,设置Jenkins工作目录的文件权限,即设置文件的属主或者拥有者为Jenkins。(PS:因为"docker"用户在宿主机上的uid默认是"1000")

复制代码
chown -R 1000 /var/jenkins_home

之后,执行docker run命令,开始安装Jenkins。

复制代码
docker run -d \
-p 8888:8080  \
-p 50000:50000  \
-v /var/jenkins_home:/var/jenkins_home  \
-v /etc/localtime:/etc/localtime   \
-v $(which docker):/usr/bin/docker \
-v /var/run/docker.sock:/var/run/docker.sock \
--privileged=true  \
--restart=always \
--name=jenkins \
jenkins/jenkins:lts

命令参数详解如下:

-run -d :后台运行容器;

-p 8888:8080 将容器的 8080 端口映射到服务器的 8888端口上;

-p 50000:50000 将容器的 50000 端口映射到服务器的 50000 端口上;

-v /var/jenkins_home:/var/jenkins_home 将容器中 Jenkins 的工作目录挂载到宿主机上;

-v /etc/localtime:/etc/localtime 设置容器使用跟宿主机同样的时间设置;

-v $(which docker):/usr/bin/docker \ 将容器中 docker目录挂载到宿主机上

-v /var/run/docker.sock:/var/run/docker.sock 在容器中执行docker命令

--privileged=true 赋予容器root权限,便于进入容器;

-restart=always 设置容器自动重启;

-name=jenkins 给容器起的别名;

jenkins/jenkins:lts 镜像名称加版本号;

之后,安装完成,可以使用docker ps命令,查看Jenkins容器的运行状态;

复制代码
docker ps

如果Jenkins容器状态显示为UP,表示Jenkins启动成功。

二、配置

安装完成后,下面开始配置。

在开始配置之前,首先,修改Jenkins插件下载源地址,设置为国内的镜像源地址,比如清华大学开源软件镜像站:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json (PS:这个很重要,否则会导致插件安装失败。)

复制代码
Jenkins中修改下载源:
进入Jenkins安装目录修改hudson.model.UpdateCenter.xml文件,把url换成如下代码:

1.进入docker的Jenkins容器中(我的Jenkins是安装在docker中的)
	docker exec -it JenkinsId bash
2.进入/var/jenkins_home 目录下
	cd /var/jenkins_home
3.修改 hudson.model.UpdateCenter.xml中的url
	3.1 vi hudson.model.UpdateCenter.xml
	3.2 http://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
4.退出容器 并重启Jenkins
	exit 
	docker restart JenkinsId

之后,登录阿里云控制台,设置ECS安全组规则,对外开放8888端口访问。(PS:因为我们在上面的安装过程中,把Jenkins的8080端口映射到宿主机服务器上的8888端口了。所以对外开放8888端口的访问,后续浏览器才能正常访问Jenkins页面。)

之后,打开浏览器访问Jenkins,进入Jenkins配置引导界面。(PS:地址,http://你的ECS服务器外网IP地址:8888。)

如上图所示,解锁Jenkins,需要管理员密码。

之后,使用docker ps命令,查看你的Jenkins容器ID。

复制代码
docker ps

之后,使用docker logs命令,查看管理员密码。

复制代码
docker logs 你的Jenkins容器ID

之后,在安装引导页面中,输入上图中管理员密码,点击继续,进入插件安装页面,点击安装推荐的插件;

之后,进入安装插件进度界面。
之后,插件安装完成,开始创建管理员用户,输入用户的账号信息,点击保存并完成。

之后,进入实例配置界面,建议使用默认值,点击保存并完成。

至此,Jenkins安装配置完成了,系统自动登录并进入Jenkins控制台主页面。

至此,Jenkins安装配置完成了。

三、总结

失败的看报错信息,我的是之前下17 版本过低,更新为最新就行。也有可能是镜像问题,来不到。具体看报错信息。

后续补充:

在实际的项目中,如果对docker网络不是非常熟悉,还是建议使用普通方式安装Jenkins。

四、设置中文

  1. 选择Manage Jenkins
  2. 选择Manage Plugins
  3. 搜索插件并安装
    点击 Avaliable >> 输入 locale >> 勾选插件 >> 点击Install without retstart。
  4. 安装成功
  5. 重启Jenkins
    这里只提供两种方法:

方法1:可以将终端停止,再重新进入jenkins完成重启。 方法2:使用 restart 完成重启。

  1. 设置中文语言

1)重启完成后,登录jenkins,再次点击 Manage Jenkins

相关推荐
Nimsolax28 分钟前
Linux信号
linux
ajassi20004 小时前
开源 C++ QT Widget 开发(十五)多媒体--音频播放
linux·c++·qt·开源
JosieBook5 小时前
【远程运维】Linux 远程连接 Windows 好用的软件:MobaXterm 实战指南
linux·运维·windows
文档搬运工5 小时前
Linux MInt启动速度的优化
linux
Broken Arrows6 小时前
Linux学习——管理网络安全(二十一)
linux·学习·web安全
Light607 小时前
领码方案|Linux 下 PLT → PDF 转换服务超级完整版:异步、权限、进度
linux·pdf·可观测性·异步队列·plt转pdf·权限治理·进度查询
鳄鱼杆7 小时前
服务器 | Docker应用开发与部署的实践以及阿里云镜像加速配置
服务器·阿里云·docker
羚羊角uou7 小时前
【Linux】命名管道
linux·运维·服务器
IT 小阿姨(数据库)7 小时前
PgSQL监控死元组和自动清理状态的SQL语句执行报错ERROR: division by zero原因分析和解决方法
linux·运维·数据库·sql·postgresql·centos
THMAIL7 小时前
量化股票从贫穷到财务自由之路 - 零基础搭建Python量化环境:Anaconda、Jupyter实战指南
linux·人工智能·python·深度学习·机器学习·金融