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

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

相关推荐
ytadpole2 小时前
Spring Cloud Gateway:一次不规范 URL 引发的路由转发404问题排查
java·后端
华仔啊3 小时前
基于 RuoYi-Vue 轻松实现单用户登录功能,亲测有效
java·vue.js·后端
bobz9653 小时前
ebpf 应用于 qemu vm vTAP
后端
bobz9653 小时前
ebpf 直接为虚拟机 tap 网卡提供 零 copy
后端
bobz9653 小时前
ovs vTap 虚拟机场景中,镜像流量可以使用 ebpf 来实现,而非基于 ovs
后端
chen9453 小时前
mysql 3节点mgr集群部署
运维·后端
程序员鱼皮3 小时前
刚刚 Java 25 炸裂发布!让 Java 再次伟大
java·javascript·计算机·程序员·编程·开发·代码
bobz9653 小时前
ebpf 在容器(veth-pair)场景中零 copy 的原理
后端