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

linux下jenkins部署安装使用

Jenkins 是什么?

Jenkins是一款开源 CI&CD 软件,是基于Java开发的一种持续集成工具,用于自动化各种任务,包括构建、测试和部署软件。

Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。
Jenkins应用广泛,大多数互联网公司都采用Jenkins配合GitLab、Docker、K8s作为实现DevOps的核心工具。
Jenkins最强大的就在于插件,Jenkins官方提供了大量的插件库,来自动化CI/CD过程中的各种琐碎功能。

Jenkins最主要的工作就是将GitLab上可以构建的工程代码拉取并且进行构建,再根据流程可以选择发
布到测试环境或是生产环境。
一般是GitLab上的代码经过大量的测试后,确定发行版本,再发布到生产环境。
CI/CD可以理解为:
CI过程即是通过Jenkins将代码拉取、构建、制作镜像交给测试人员测试。
持续集成:让软件代码可以持续的集成到主干上,并自动构建和测试。
CD过程即是通过Jenkins将打好标签的发行版本代码拉取、构建、制作镜像交给运维人员部署。
持续交付:让经过持续集成的代码可以进行手动部署。
持续部署:让可以持续交付的代码随时随地的自动化部署。

官网:https://www.jenkins.io

中文文档:https://www.jenkins.io/zh/

安装包:http://mirrors.jenkins.io/war-stable/latest

基础环境要求

运行 Jenkins 需要以下 Java 版本,该要求同样适用于 Jenkins 系统的所有组件,包括 Jenkins 控制器、所有类型的代理、CLI 客户端和其他组件。

Supported Java versions

Long term support (LTS) release

Weekly release

Java 11, Java 17, or Java 21

2.426.1 (November 2023)

2.419 (August 2023)

Java 11 or Java 17

2.361.1 (September 2022)

2.357 (June 2022)

Java 8, Java 11, or Java 17

2.346.1 (June 2022)

2.340 (March 2022)

Java 8 or Java 11

2.164.1 (March 2019)

2.164 (February 2019)

注意:如果安装不受支持的 Java 版本,则 Jenkins 控制器将无法运行。

 docker方式安装

安装Docker和Docker Compose
#安装docker
yum install docker#安装docker-compose
curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose# 添加执行权限
chmod +x /usr/local/bin/docker-compose# 验证安装
docker-compose --version使用 pip 安装docker-compose(适合无法直接访问 GitHub 的环境)
# 安装pip(如未安装)
sudo apt-get install python3-pip# 使用pip安装
sudo pip3 install docker-compose# 验证安装
docker-compose --version

 

拉取Jenkins镜像
docker pull jenkins/jenkins
编写docker-compose.yml

vim docker-compose.yml

version: "3.1"
services:
jenkins:
image: jenkins/jenkins
container_name: jenkins
ports:
- 8080:8080
- 50000:50000
volumes:
- ./data/:/var/jenkins_home/#给data目录添加权限
chmod -R a+w data/
启动jenkins容器

在docker-compose.yml同级目录下执行

docker-compose up -d
# 或只启动特定服务
docker-compose up -d jenkins
# 或只启动改yml文件下的容器
docker-compose -f docker-compose.yml up -d
查看运行的服务
docker-compose ps
查看日志
docker-compose logs <service_name>
docker-compose logs jenkins
停止服务

要停止所有服务,可以使用:

docker-compose down

这将会停止并移除所有容器、网络、卷、镜像等。如果你只想停止容器而不移除它们,可以使用:

docker-compose stop

重新启动Jenkins容器后,由于Jenkins需要下载大量内容,但是由于默认下载地址下载速度较慢,
需要重新设置下载地址为国内镜像站 

修改数据卷中的hudson.model.UpdateCenter.xml文件

vim hudson.model.UpdateCenter.xml
<?xml version='1.1' encoding='UTF-8'?>
<sites>
<site>
<id>default</id>
<url>https://updates.jenkins.io/update-center.json</url>
</site>
</sites>
# 将下载地址替换为http://mirror.esuni.jp/jenkins/updates/update-center.json
<?xml version='1.1' encoding='UTF-8'?>
<sites>
<site>
<id>default</id>
<url>http://mirror.esuni.jp/jenkins/updates/update-center.json</url>
</site>
</sites>
# 清华大学的插件源也可以
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

查看密码登录Jenkins,并登录下载插件

docker exec -it jenkins cat /var/jenkins_home/secrets/initialAdminPassword

 

war方式安装

下载jenkins
yum install -y java-11
mkdir -p /opt/jenkins
cd /opt/jenkins
wget https://mirrors.jenkins.io/war-stable/2.426.1/jenkins.war

启动jenkins
nohup java -jar jenkins.war --httpPort=8080 > jenkins.log &

访问Jenkins并登录

打开浏览器访问jenkins链接http://localhost:8080。第一次访问新的Jenkins实例时,系统会要求使用/root/.jenkins/secrets/initialAdminPassword文件中自动生成的密码对其进行解锁。

cat /root/.jenkins/secrets/initialAdminPassword

自定义jenkins插件

解锁 Jenkins之后,在 Customize Jenkins 页面内, 可以安装任何数量的有用插件作为初始步骤的一部分。

两个选项可以设置:

  • 安装建议的插件 - 安装推荐的一组插件,这些插件基于最常见的用例.

  • 选择要安装的插件 - 选择安装的插件集。当第一次访问插件选择页面时,默认选择建议的插件。

说明:如果您不确定需要哪些插件,请选择 安装建议的插件 。 您可以通过Jenkins中的Manage Jenkins> Manage Plugins页面在稍后的时间点安装(或删除)其他Jenkins插件 

创建第一个管理员用户

最后,在安装插件之后,Jenkins要求您创建第一个管理员用户。出现“ 创建第一个管理员用户 ”页面时, 请在各个字段中指定管理员用户的详细信息,然后单击 保存完成 。也可以直接使用admin用户做登录。

从这时起,Jenkins用户界面只能通过提供有效的用户名和密码凭证来访问。

安装完成

完成上述初始化操作后,可以点击 开始使用 Jenkins 直接登录进入 Jenkins,这就算安装完成了。

Jenkins入门配置

由于Jenkins需要从Git拉取代码、需要本地构建、甚至需要直接发布自定义镜像到Docker仓库,所以Jenkins需要配置大量内容。

构建任务

准备好GitLab仓库中的项目,并且通过Jenkins配置项目的实现当前项目的DevOps基本流程。
GitLab查看项目构建Maven工程发布到GitLab(Gitee、Github均可)

新建任务
Jenkins点击首页左侧导航新建任务

选择自由风格构建任务

配置源码拉取地址

Jenkins需要将Git上存放的源码存储到Jenkins服务所在磁盘的本地,配置任务源码拉取的地址

Jenkins立即构建

查看构建工程的日志

点击build history的任务条即可,可以看到源码已经拉取带Jenkins本地,可以根据第三行日志信息,查看Jenkins本地拉取到的源码。

http://www.xdnf.cn/news/7692.html

相关文章:

  • 上肢康复机器人设计与临床应用研究
  • 达梦数据库线上体验:高度兼容Oracle语法
  • 家电行业数字化实践案例 | 易趋携手某知名家电集团打造数字化项目管理系统
  • 如何看待镍钯金PCB在当代工业制造中的地位和应用?
  • Python 数据库编程
  • Java 04 API
  • 【信息系统项目管理师】第12章:项目质量管理 - 26个经典题目及详解
  • Agent_Attention线性注意力推导
  • ubuntu terminal 查看opencv 版本,或者其他相关库或者包
  • 【LUT技术专题】DnLUT代码解读
  • UniVLA-香港大学-单系统带导航-2025.5.9-开源
  • 通过两个列表构建字典(python极其详细)
  • Redis哨兵(Sentinel)模式详解:构建高可用Redis架构
  • Oracle RAC ADG备库版本降级方案(19.20 → 19.7)
  • 大模型预训练、微调、强化学习、评估指导实践
  • 学习黑客 TELNET 来龙去脉
  • 5.2.4 wpf中MultiBinding的使用方法
  • 宝塔+fastadmin:给项目添加定时任务
  • Spring Boot 使用 jasypt配置明文密码加密
  • 第6章 C控制语句:循环
  • 攻防世界-题目名称-文件包含
  • MySQL 库的操作 -- 字符集和校验规则,库的增删查改,数据库的备份和还原
  • Java IO流操作
  • Prosys OPC:引领工业互联的OPC UA先锋
  • 游戏引擎学习第296天:层的雾效和透明度
  • 基于Spring Boot + Vue的教师工作量管理系统设计与实现
  • 监控易一体化运维:解锁工单管理效能,为运维工作提速
  • ZooKeeper 原理解析及优劣比较
  • 安达发|传统排产已过时?AI机器人+APS高级排产软件重塑制造业!
  • docker 查看镜像所在位置