服务器上如何搭建jenkins 服务CI/CD😎😎

大家好,我是前端小张同学,最近在卷全栈了,跟大家说一说服务器上如何搭建Jenkins 环境。

1:前言

随着 DevOps 流程的普及,持续集成(CI)和持续交付(CD)已成为现代软件开发中不可或缺的一部分。Jenkins 作为一款开源的自动化服务器,广泛应用于 CI/CD 管道的构建与管理。它不仅支持多种编程语言和工具链,还拥有丰富的插件生态系统,能够满足不同团队的需求。

2:环境准备

2.1:系统配置

1. 最低推荐配置:

  • 256MB可用内存
  • 1GB可用磁盘空间(作为一个Docker容器运行jenkins的话推荐10GB)

2. 为小团队推荐的硬件配置:

  • 1GB+可用内存
  • 50 GB+ 可用磁盘空间

3:java 环境准备

jenkins 是基于java环境的,所以我们需要提前准备,需要在系统上安装Java 8或更高版本。我们将安装OpenJDK 17, Java平台的开源实现。

bash 复制代码
sudo apt update

sudo apt install openjdk-17-jdk // 安装 jdk17 

命令解释

  1. sudo:以管理员权限(超级用户)执行后续命令,因为更新软件源需要系统权限。

  2. apt:Advanced Package Tool 的缩写,是 Linux 系统中用于管理软件包的命令行工具(安装、卸载、更新软件等)。

  3. update :这是 apt 的子命令,作用是从系统配置的软件源服务器 (位于 /etc/apt/sources.list/etc/apt/sources.list.d/ 目录下)下载并更新本地的软件包索引列表

    • 这个索引列表记录了所有可安装的软件包名称、版本、依赖关系等信息,但不会实际更新已安装的软件

4: 检查Java版本

复制代码
java -version

5:安装jenkins

在 Ubuntu 上安装 Jenkins 相对简单。我们将启用 Jenkins APT 存储库,导入存储库 GPG 密钥,并安装 Jenkins 包。

5.1: wget 命令导入 Jenkins 存储库的GPG键

bash 复制代码
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -

5.2:### 将 Jenkins 存储库添加到系统中

bash 复制代码
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'

5.3:apt 包列表并安装最新版本的 Jenkins :

sql 复制代码
sudo apt-get update 

sudo apt-get install jenkins

6:验证安装

bash 复制代码
//查看状态
systemctl status jenkins 

// 查看进程信息
ps -ef |grep jenkins

看到 running 和 active 说明 jenkins 服务已经启动了。

7:配置端口和重启服务

7.1:检查可用端口

bash 复制代码
sudo ufw status

7.2: 配置端口

arduino 复制代码
sudo nano /etc/default/jenkins

7.3: 在 jenkins 加载目录中修改端口

7.4:打开刚刚设置的端口

yaml 复制代码
sudo ufw allow 8081

7.5: 重启服务

arduino 复制代码
//  重新加载配置文件 
sudo systemctl daemon-reload 

// 重启 Jenkins
sudo systemctl restart jenkins

8 设置 Jenkins

8.1: 解锁 Jenkins

完成Jenkins安装,打开浏览器,输入域或IP地址,然后输入默认端口8080,

例如:jenkins.xxx.com:8080

将显示如下页面,提示您输入安装过程中创建的管理员密码:

使用此命令查询 初始密码

bash 复制代码
sudo cat /var/lib/jenkins/secrets/initialAdminPassword

8.2:安装推荐依赖

然后往下填写配置就可以了。

相关推荐
绿油果2 小时前
Javaweb(BeanUtils)
java·web
拧之3 小时前
✅XXL-JOB的基本使用
java
老朋友此林4 小时前
MongoDB GEO 项目场景 ms-scope 实战
java·数据库·spring boot·mongodb
追逐时光者5 小时前
一个基于 ASP.NET Core 的开源、模块化、多租户应用框架和内容管理系统
后端·.net
豆沙沙包?5 小时前
2025年--Lc165--H637.二叉树的层平均值(二叉树的层序遍历)--Java版
java·开发语言
迎風吹頭髮6 小时前
UNIX下C语言编程与实践40-UNIX 全局跳转:setjmp 与 longjmp 函数的使用与注意事项
java·c语言·unix
春风霓裳6 小时前
maven-setting配置
java·maven
小蒜学长6 小时前
springboot二手儿童绘本交易系统设计与实现(代码+数据库+LW)
java·开发语言·spring boot·后端
xqlily6 小时前
Go语言:高效简洁的现代编程语言
开发语言·后端·golang
数据知道6 小时前
Go语言:数据压缩与解压详解
服务器·开发语言·网络·后端·golang·go语言