服务器上如何搭建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 小时前
三极管推挽输出电路分析
后端·嵌入式
Java水解2 小时前
【JAVA 进阶】Spring AOP核心原理:JDK与CGLib动态代理实战解析
后端·spring
我是咸鱼不闲呀2 小时前
力扣Hot100系列19(Java)——[动态规划]总结(上)(爬楼梯,杨辉三角,打家劫舍,完全平方数,零钱兑换)
java·leetcode·动态规划
Java水解2 小时前
Spring Boot 4 升级指南:告别RestTemplate,拥抱现代HTTP客户端
spring boot·后端
宫水三叶的刷题日记3 小时前
工商银行今年的年终奖。。
后端
大黄评测3 小时前
双库协同,各取所长:.NET Core 中 PostgreSQL 与 SQLite 的优雅融合实战
后端
Java编程爱好者3 小时前
Java 后端定时任务怎么选:@Scheduled、Quartz 还是 XXL-Job?
后端
Java编程爱好者3 小时前
线程池用完不Shutdown,CPU和内存都快哭了
后端
加油,小猿猿3 小时前
Java开发日志-双数据库事务问题
java·开发语言·数据库
神奇小汤圆3 小时前
Unsafe魔法类深度解析:Java底层操作的终极指南
后端