服务器上如何搭建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:安装推荐依赖

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

相关推荐
WX-bisheyuange2 小时前
基于Spring Boot的教师个人成果管理系统的设计与实现
java·spring boot·后端
chxii2 小时前
spring boot 获取HTTP 请求参数
spring boot·后端·http
xunyan62343 小时前
面向对象(上)-封装性的引入
java·开发语言
脸大是真的好~4 小时前
黑马JAVAWeb-05 JDBC入门-预编译SQL-Mybatis入门-Mybatis日志输出-数据库连接池-增删改查-XML映射配置
java
还算善良_4 小时前
XML签名
xml·java·开发语言
梅梅绵绵冰4 小时前
xml方式实现AOP
xml·java·开发语言
桦说编程5 小时前
Guava 迭代器增强类介绍
java·后端·设计模式
235165 小时前
【JVM】Java为啥能跨平台?JDK/JRE/JVM的关系?
java·开发语言·jvm·spring boot·后端·spring·职场和发展
courtfu5 小时前
Plugin ‘mysql_native_password‘ is not loaded`
java·后端
枫子有风5 小时前
Go语言流程控制
android·java·golang