Ubuntu安装Jenkis

Jenkins是一个开源软件项目,是基于java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

简单来说,它就是一个 持续集成 的工具!

持续集成

持续集成 (Continuous Integration),简称 CI 。频繁地将代码集成到主干之前,必须通过自动化测试,只要有一个测试用例失败,就不能集成。通过持续集成,团队可以快速从一个功能到另外一个功能。

好处:

  • 降低风险,由于持续集成不断去构建,编译和测试,可以很早发现问题
  • 减少重复性的工作
  • 持续部署,提供可部署单元包
  • 持续交付可供使用的版本

我们先通过这张图来看到 Jenkins 在其中起到的作用:

首先,开发人员将代码提交到 Git 仓库

然后 Jenkins 使用 Git 插件来拉取 Git 仓库的代码,然后配合 JDK、Maven 等软件完成代码编译,测试、审查、、测试和打包等工作

最后 Jenkins 将生成的 jar/war 推送到 测试/生产 服务器 ,供用户访问

整套步骤下来,作为开发人员我们只需要提交下代码,剩下的工作都交给了 Jenkins ,真是美滋滋,怎么没有早点上这个工具的车!

步骤1

配置可靠的DNS服务器

复制代码
cat << EOF | sudo tee /etc/resolv.conf
nameserver 8.8.8.8
nameserver 114.114.114.114
nameserver 223.5.5.5
nameserver 1.1.1.1
search local
options timeout:2
options attempts:3
EOF

测试DNS解析

复制代码
nslookup mirrors.tuna.tsinghua.edu.cn
nslookup baidu.com

步骤2

更新软件包列表

复制代码
apt update

安装Java(Jenkins依赖)

复制代码
sudo apt install openjdk-17-jdk -y

使用正确的Jenkins仓库密钥(修复apt-key警告)

复制代码
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key | sudo gpg --dearmor -o /usr/share/keyrings/jenkins-archive-keyring.gpg

添加Jenkins仓库(使用新方法)

复制代码
echo "deb [signed-by=/usr/share/keyrings/jenkins-archive-keyring.gpg] https://pkg.jenkins.io/debian-stable binary/" | sudo tee /etc/apt/sources.list.d/jenkins.list > /dev/null

更新并安装Jenkins

复制代码
sudo apt update
sudo apt install jenkins -y

步骤3

启动Jenkins服务

复制代码
sudo systemctl start jenkins
sudo systemctl enable jenkins

检查服务状态

复制代码
sudo systemctl status jenkins

开放防火墙端口(如果使用UFW)

复制代码
sudo ufw allow 8080
sudo ufw allow 50000
sudo ufw reload

步骤4

查看初始管理员密码

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

这是我获取到的
3b24f5eb88394cf1af597355e633e132

访问Jenkins

在浏览器中访问:http://你的服务器IP:8080

相关推荐
Johny_Zhao11 小时前
OpenClaw安装部署教程
linux·人工智能·ai·云计算·系统运维·openclaw
chlk1232 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑2 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件2 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
碳基沙盒2 天前
OpenClaw 多 Agent 配置实战指南
运维
深紫色的三北六号2 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash3 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI3 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行4 天前
Linux和window共享文件夹
linux
木心月转码ing4 天前
WSL+Cpp开发环境配置
linux