Linux下Docker方式Jenkins安装和配置

news/2024/10/22 8:38:49/

一、下载&安装

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中的url3.1 vi hudson.model.UpdateCenter.xml3.2 http://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
4.退出容器 并重启Jenkinsexit 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. 安装成功
    4. 安装成功
  5. 重启Jenkins
    这里只提供两种方法:

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

  1. 设置中文语言

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


http://www.ppmy.cn/news/1538390.html

相关文章

论文阅读笔记-Reformer: The Efficient Transformer

前言 Reformer: The Efficient Transformer 原始Transformer结构提出后,其中的Attention的 L 2 L^2 L2 计算复杂度以及整体模型的计算内存空间占用一直都是优化的一个方向。本篇文章提出的Reformer模型,通过改进Attention方式、可逆层等,来…

GitLab Runner 通过 Pipeline 流水线实现持续集成 CI

文章目录 1、基础环境2、安装 Docker3、安装 GitLab4、安装 JDK5、安装 Maven6、安装 GitLab Runner7、注册 GitLab Runner8、上传 GitLab9、配置 Pipeline 1、基础环境 本次演示搭建,我使用的是阿里云服务器,配置如下: 服务器1:…

SpringSecirity(四)——用户退出

因为JWT是无状态的,去中心化的,在服务器端无法清除,服务器一旦进行颁发,就只能等待自动过期 才会失效,所以需要redis配合才能完成登录状态的记录。 实现思路: 登录后在redis中添加一个白名单,把…

LeetCode23. 合并 K 个升序链表(2024秋季每日一题 36)

给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合并后的链表。 示例 1: 输入:lists [[1,4,5],[1,3,4],[2,6]] 输出:[1,1,2,3,4,4,5,6] 解释:链表数组如下&#…

GS-LRM: Large Reconstruction Modelfor 3D Gaussian Splatting 论文解读

目录 一、概述 二、相关工作 1、多视图的三维重建 2、前馈重建 三、LRM 1、编码器 2、解码器 3、NeRF渲染 四、GS-LRM 1、输入处理 2、Transformer 3、损失函数 五、实验 六、局限 一、概述 该论文提出了一种利用稀疏输入图像高效预测3D高斯原语的方法&#xff…

Qt C++设计模式->中介者模式

中介者模式(Mediator Pattern)是一种行为型设计模式,定义了一个对象用于封装一系列对象之间的交互。中介者使得对象之间不再需要显式地相互引用,减少了对象之间的依赖关系,从而使系统更加松散耦合,并且可以…

前端框架对比与选择:详尽分析

1. 引言 随着互联网技术的飞速发展,前端开发技术也得到了迅猛提升。无论是大型企业还是中小型开发团队,使用前端框架来简化开发过程、提升开发效率已成为一种普遍现象。如今,市场上有众多的前端框架可供选择,如React、Vue.js、Angular等,如何在这些框架中进行选择成为了开…

牛客编程初学者入门训练——BC8 牛牛的字符菱形

BC8 牛牛的字符菱形 描述: 牛牛尝试用键盘读入一个字符,然后在屏幕上显示一个用这个字符填充的对角线长5个字符,倾斜放置的菱形。 输入描述: 输入一个char类型字符 输出描述: 输出一个用这个字符填充的对角线长5…