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

相关推荐
消失的旧时光-1943几秒前
函数指针 + 结构体 = C 语言的“对象模型”?——从 C 到 C++ / Java 的本质统一
linux·c语言·开发语言·c++·c
xiaobaishuoAI2 分钟前
后端工程化实战指南:从规范到自动化,打造高效协作体系
java·大数据·运维·人工智能·maven·devops·geo
郝学胜-神的一滴5 分钟前
Linux系统编程:深入理解读写锁的原理与应用
linux·服务器·开发语言·c++·程序人生
Larry_Yanan5 分钟前
Qt多进程(十一)Linux下socket通信
linux·开发语言·c++·qt
Hello.Reader17 分钟前
PyFlink Configuration 一次讲透怎么配、配哪些、怎么“调得快且稳”
运维·服务器·python·flink
__雨夜星辰__19 分钟前
VMware 17 下 Ubuntu 虚拟机与宿主机间复制粘贴失效问题
linux·运维·ubuntu
prettyxian21 分钟前
【linux】进程调度:优先级、时间片与O(1)算法
linux·运维·服务器
__雨夜星辰__22 分钟前
VS Code 的Remote-SSH/Remote Development插件无法连接到 Ubuntu 系统下 的远程虚拟主机(VMware)
运维·vscode·ubuntu·ssh
小猪佩奇TONY28 分钟前
Linux 内核学习(15) --- linux MMU 和 分页机制
linux·学习
2401_8658548829 分钟前
16核32g的服务器能运用于哪些场景
运维·服务器