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

相关推荐
李白你好24 分钟前
Windows 离线 Linux 提权辅助查询工具
linux
Lust Dusk1 小时前
记一次Linux应急响应题目解析
linux·运维·服务器·网络·安全·网络安全
ShineWinsu1 小时前
对于Linux:五种IO模型以及非阻塞IO的详细解析
linux·c++·面试·io·阻塞·非阻塞·fcntl
千千寰宇1 小时前
[Linux/Ollama] Termux : 一款运行在 Android 平台上的开源终端模拟器与 Linux 环境应用、支持在手机上基于Ollama部署LLM
linux
轻揉小乔 真新人2 小时前
使用memc-nginx和srcache-nginx模块构建高效透明的缓存机制
运维·nginx·缓存
Yan_chen6662 小时前
SSH(Secure Shell)安全外壳协议详解
运维·网络协议·ssh
lingran__3 小时前
Linux 基础常用指令万字详解(上)|文件目录命令,结合底层原理剖析
linux·运维·服务器·后端·centos·linux基础指令
各类产品分享4 小时前
电力行业AR智能运维哪个品牌好
运维·ar·ar巡检
Dlrb12114 小时前
Linux驱动---sys文件系统自动添加设备节点、添加调试节点以及MISC设备驱动的解释
linux·imx6ull·misc·设备节点·sys文件系统
贾天佑忆月 迷失的昵5 小时前
客户端与服务器持续同步解析(轮询,comet,WebSocket)
运维·服务器·websocket