当前位置: 首页 > news >正文

Linux中部署Jenkins保姆间教程

 本文将以docker的方式,讲述如何部署Jenkins

一、拉取Jenkins镜像

1.1 最新版Jenkins介绍

最新版Jenkins地址:Download and deploy

当前最新版的如下图所示:

1.2 各版本支持的JDK版本

地址如下:Java Support Policy

如果你安装了不受支持的 Java 版本,你的 Jenkins 控制器将无法运行。 

特别注意:此处的JDK版本是Jenkins运行所依赖的版本。比如jenkins/jenkins:2.492.3
不支持在 JDK8 上运行。根据 Jenkins 的官方文档,从 jenkins/jenkins:2.492.3 版本开始,要求至少使用 Java 17 或更新版本来运行。(官方镜像已内置 OpenJDK)。不过,尽管 Jenkins 本身需要 Java 17 或更新版本来运行,但这并不意味着你不能在 Jenkins 中配置 JDK8 来构建项目。你仍然可以在 Jenkins 的全局工具配置中,为构建任务指定 JDK8,而 Jenkins 运行时使用 Java 17 或更高版本。

1.3 拉取jenkins/jenkins:2.492.3 版本的镜像

docker pull jenkins/jenkins:2.492.3

1.4 查看镜像

docker images

二、启动Jenkins容器

2.1 创建挂载目录

mkdir -p docker-jenkins/jenkins_home

2.2 设置权限

chmod -R 777 /docker-jenkins/jenkins_home

2.3启动容器

docker run -d \--name jenkins \--restart=always \-p 8080:8080 \-p 50000:50000 \-v /docker-jenkins/jenkins_home:/var/jenkins_home \-v /etc/localtime:/etc/localtime:ro \jenkins/jenkins:2.492.3

2.4 查看容器

docker ps

三、初始化Jenkins

3.1 查看Jenkins日志,查看临时密码

docker logs xxx

xxx为容器的id 

3.2 访问Jenkins的Web控制台

通过部署机器的8080端口进行访问。访问的过程会很慢等待一下。服务器内存最好大点,内存小的容易启动不起来。

然后输入刚刚获取的临时密码

3.3 安装插件

输入临时密码,稍等后会进行插件页面,选择《安装推荐的插件即可》:

等待一段时间后,插件安装如下(如果过程中出现几个失败先不管):

接下来按照步骤,创建一个用户,然后就可以开始使用Jenkins啦。

3.4 正常使用

如果你顺利完成了上面的步骤,你就可以正常使用Jenkins了。

3.5 汉化(非必选)

进入插件Plugins:

搜索Locale,勾选,点击安装

下载完成后,可以点击勾选空闲时重启jenkins,也可以自己重启:

四、jenckins实现自动打包持续集成

4.1 新建任务

首先点击新建任务

然后输入一个任务名称,选择构建一个自由风格的软件项目

然后可以选择性的写一下描述,并选择源码管理中的Git

然后输入我们的仓库地址,会显示无法连接,此时我们点击添加按钮(用于添加Git账号)

输入用户名和密码后点击添加

然后选择Credentials,并save保存。如果要该分支,请自行修改

保持后,回到Dashboard页面,即可看到项目        

4.2 配置全局Maven

4.2.1 准备maven

这里以上传我们自己的Maven为案例

首先进入Jenkins挂在目录:

cd /docker-jenkins/jenkins_home

其次上传maven:

4.2.2配置Maven

进入系统管理:

选择全局工具配置:

先滑倒最下面,点击《新增Maven》:

然后填写maven的信息(注意:此次要填容器内的地址):

当然在这里,我们也可以选择自动安装啦

接着,我们滑到最顶端,配置Maven的settings 配置文件,配置完点击保存:

(注意要配置容器内的文件路径)

4.3 尝试构建

点击进入对应的项目:

点击立刻构建:

查看控制台输出:

发现没有git tool:

4.4 解决问题

4.4.1 检查是否有Git plugin

http://www.lqws.cn/news/532513.html

相关文章:

  • 爬虫005----Selenium框架
  • 9. 回文数
  • MySQL (二):范式设计
  • Linux服务器部署Leantime与cpolar构建低成本团队协作环境
  • LRU缓存C++
  • kubernetes》》k8s》》滚动发布 、金丝雀发布 、
  • 医疗AI专科子模型联邦集成编程分析
  • 第一章-人工智能概述-机器学习基础与应用(1/36)
  • 时序分析未完待续
  • DeepSeek16-open-webui Pipelines开发填坑
  • 什么是财务共享中心?一文讲清财务共享建设方案
  • dlib检测视频中的人脸并裁剪为图片保存
  • centos 7 安装NVIDIA Container Toolkit
  • 鸿蒙原子化服务与元服务:轻量化服务的未来之路
  • Spring Security 安全控制终极指南
  • postman接口功能测试
  • 【音视频】Ubuntu下配置ffmpeg库
  • Learning a Neural Solver for Multiple Object Tracking
  • 表单数据收集实现分析
  • vue3+element-plus 组件功能实现 上传功能
  • python的文学名著分享系统
  • Unity热更新 之 Lua
  • docker 命令
  • Unity AR构建维护系统的以AI驱动增强现实知识检索系统
  • 专题:2025中国游戏科技发展研究报告|附130+份报告PDF、原数据表汇总下载
  • [mcp-servers] docs | AI客户端-MCP服务器-AI 架构
  • 国外开源客服系统chathoot部署,使用教程
  • Windows 下让任何 .bat 脚本后台运行的方法:使用 NSSM 注册为服务,告别误关窗口
  • 常见的排序方法
  • VUE-----常用指令