[笔记] Jenkins 安装与配置全攻略:Ubuntu 从零开始搭建持续集成环境

随着 DevOps 流程的普及,持续集成(CI)和持续交付(CD)已成为现代软件开发中不可或缺的一部分。Jenkins 作为一款开源的自动化服务器,广泛应用于 CI/CD 管道的构建与管理。它不仅支持多种编程语言和工具链,还拥有丰富的插件生态系统,能够满足不同团队的需求。对于初学者来说,Jenkins 的安装和配置可能会显得有些复杂,尤其是当您需要在同一台服务器上同时运行多个服务时(如 GitLab 和 Jenkins)。本文将为您提供一份详细的 Jenkins 安装与配置指南,帮助您快速搭建一个稳定可靠的持续集成环境。

官网 : Jenkins


一. 系统配置

1. 最低推荐配置:

  • 256MB可用内存
  • 1GB可用磁盘空间(作为一个Docker容器运行jenkins的话推荐10GB)

2. 为小团队推荐的硬件配置:

  • 1GB+可用内存
  • 50 GB+ 可用磁盘空间

3. 软件配置:

  • Java 8—​无论是Java运行时环境(JRE)还是Java开发工具包(JDK)都可以。

二. 安装java

Jenkins是一个Java应用程序,需要在系统上安装Java 8或更高版本。我们将安装OpenJDK 17, Java平台的开源实现。

sudo apt update
sudo apt install openjdk-17-jdk

检查Java版本:

java -version

在这里插入图片描述


三. 安装 Jenkins

在 Ubuntu 上安装 Jenkins 相对简单。我们将启用 Jenkins APT 存储库,导入存储库 GPG 密钥,并安装 Jenkins 包。

1. wget 命令导入 Jenkins 存储库的 GPG 键:

wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -

2. 将 Jenkins 存储库添加到系统中

sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'

3. apt 包列表并安装最新版本的 Jenkins :

sudo apt-get update
sudo apt-get install jenkins

4.报错 (没有报错则忽略)

W: GPG 错误:https://pkg.jenkins.io/debian-stable binary/ Release: 由于没有公钥,无法验证下列签名:NO_PUBKEY 9B7D32F2D50582E6
E: 仓库 “http://pkg.jenkins.io/debian-stable binary/ Release” 没有数字签名。

解决方法

  • 导入密钥:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 9B7D32F2D50582E6
  • 再次运行 3 :
sudo apt-get update
sudo apt-get install jenkins

5. 验证是否安装成功

## 查看状态
systemctl status jenkins## 查看进程信息
ps -ef |grep jenkins

在这里插入图片描述

6. 调整防火墙

如果你在一个被防火墙保护的远程Ubuntu服务器上安装Jenkins,你需要打开端口8080。

# 查询开启的端口
sudo ufw status# 打开8080端口
sudo ufw allow 8080

7. 更换端口(可跳过)

因为我是 gitlab 和 Jenkins 在同一台服务器,所以 8080 端口被 gitlab 占用了。

a. 编辑 /etc/default/jenkins 或 /etc/sysconfig/jenkins 文件(取决于你的系统):

sudo nano /etc/default/jenkins

在这里插入图片描述

b. 在 jenkins 加载目录中修改端口

sudo vim /usr/lib/systemd/system/jenkins.service

在这里插入图片描述

c. 打开设置的端口

sudo ufw allow 8081

d. 重启 Jenkins

## 重新加载配置文件
sudo systemctl daemon-reload## 重启 Jenkins
sudo systemctl restart jenkins

四. 设置 Jenkins

1. 解锁 Jenkins

完成Jenkins安装,打开浏览器,输入域或IP地址,然后输入默认端口8080,
例如:http://jenkins.xxx.com:8080

将显示如下页面,提示您输入安装过程中创建的管理员密码:
在这里插入图片描述
使用 cat 在终端上显示密码 :

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

在这里插入图片描述
从终端复制密码,粘贴到“管理员密码”域中,点击“继续”。

2. 安装插件

在这里插入图片描述
点击“安装推荐的插件”框,安装过程将立即开始。等待推荐插件安装完成(安装失败,点击重试继续安装)
在这里插入图片描述

3. 创建管理员账户

在这里插入图片描述

4. Jenkins实例设置URL(自动生成,下一步即可)

在这里插入图片描述

5. 完成

在这里插入图片描述
在这里插入图片描述


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/503782.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

精选2款.NET开源的博客系统

前言 博客系统是一个便于用户创建、管理和分享博客内容的在线平台,今天大姚给大家分享2款.NET开源的博客系统。 StarBlog StarBlog是一个支持Markdown导入的开源博客系统,后端基于最新的.Net6和Asp.Net Core框架,遵循RESTFul接口规范&…

Keepalived 进阶秘籍:全方位配置优化

文章目录 1.sysctl.conf参数优化2. limits参数优化3. global_defs模块区域4.vrrp_script模块区域5.vrrp_instance VI_1实例定义配置模块区域6. virtual_server模块区域7.Keepalived与Heartbeat、Corosync比较 前言: 作为一台Keepalived服务器,有必要对内…

51单片机——中断(重点)

学习51单片机的重点及难点主要有中断、定时器、串口等内容,这部分内容一定要认真掌握,这部分没有学好就不能说学会了51单片机 1、中断系统 1.1 概念 中断是为使单片机具有对外部或内部随机发生的事件实时处理而设置的,中断功能的存在&#…

rabbitmq——岁月云实战笔记

1 rabbitmq设计 生产者并不是直接将消息投递到queue,而是发送给exchange,由exchange根据type的规则来选定投递的queue,这样消息设计在生产者和消费者就实现解耦。 rabbitmq会给没有type预定义一些exchage,而实际我们却应该使用自己定义的。 1.1 用户注册设计 用户在…

基于Python的投资组合收益率与波动率的数据分析

基于Python的投资组合收益率与波动率的数据分析 摘要:該文通过研究马科维茨的投资组合模型,并将投资组合模型应用到包含6只金融股票的金融行业基金中。首先通过开源的财经接口Tushare获取股票原始数据,接着利用数据分析的黄金组合库&#xf…

Linux部署web项目【保姆级别详解,Ubuntu,mysql8.0,tomcat9,jdk8 附有图文】

文章目录 部署项目一.安装jdk1.1 官网下载jdk81.2 上传到Linux1.3 解压1.4 配置环境变量1.5 查看是jdk是否安装成功 二.安装TomCat2.1 官网下载2.2 上传到Linux2.3 解压2.4配置2.5 启动Tomcat2.6 验证是否成功 三.安装mysql四.部署javaweb项目4.1 打包4.2 启动tomcat 部署项目 …

前端基础--网络

http1到http2有哪些新增和区别 HTTP/1.0版本主要增加了 1,增加了HEAD,POST等方法 2,增加了状态码 3,增加了请求头和响应头 4,引入content-type,传输不在仅限于文本 5,在请求中加入了HTTP版本号 HTTP…

Maven 详细配置:Maven 项目 POM 文件解读

Maven 是 Java 开发领域中广泛使用的项目管理和构建工具,通过其核心配置文件——POM(Project Object Model)文件,开发者能够定义项目的基本信息、依赖关系、插件配置以及构建生命周期等关键要素。POM 文件不仅是 Maven 项目的核心…

加速物联网HMI革命,基于TouchGFX的高效GUI显示方案

TouchGFX 是一款针对 STM32 微控制器优化的先进免费图形软件框架。 TouchGFX 利用 STM32 图形功能和架构,通过创建令人惊叹的类似智能手机的图形用户界面,加速了物联网 HMI 革命。 TouchGFX 框架包括 TouchGFX Designer (TouchGFXDesigner)(…

服务器漏洞修复解决方案

漏洞1、远程桌面授权服务启用检测【原理扫描】 Windows Remote Desktop Licensing Service is running: Get Server version: 0x60000604 1、解决方案:建议禁用相关服务避免目标被利用 方法一:使用服务管理器 打开“运行”对话框(WinR&am…

Centos源码安装MariaDB 基于GTID主从部署(一遍过)

MariaDB安装 安装依赖 yum install cmake ncurses ncurses-devel bison 下载源码 // 下载源码 wget https://downloads.mariadb.org/interstitial/mariadb-10.6.20/source/mariadb-10.6.20.tar.gz // 解压源码 tar xzvf mariadb-10.5.9.tar.gz 编译安装 cmake -DCMAKE_INSTA…

基于SpringBoot实现的保障性住房管理系统

🥂(❁◡❁)您的点赞👍➕评论📝➕收藏⭐是作者创作的最大动力🤞 💖📕🎉🔥 支持我:点赞👍收藏⭐️留言📝欢迎留言讨论 🔥🔥&…

Vue进阶(贰幺叁)node 版本切换

文章目录 一、前言1.1 什么是nvm? 二、查看已安装好的 node 版本三、下载 node 版本四、切换 node 版本五、查看在用 node 版本六、拓展阅读 一、前言 项目开发阶段,会涉及多node版本切换应用场景,可应用nvm实现node版本切换。 1.1 什么是nvm? nvm是…

Java-数据结构-链表-高频面试题(1)

在上一篇文章中,我们学习了链表中的"单向链表",但学可不代表就是学会了,能够运用链表的地方比比皆是,解题方法也是层出不穷,今天就让我们巩固一下"单向链表"的知识吧~ 第一题:相交链表…

低空管控技术-无人机云监视技术详解!

一、无人机监听技术的原理 无人机监听技术主要依赖于射频(RF)探测、光学和红外传感器等技术手段。这些技术通过被动监听和监测无人机与飞行员(或控制器)之间的通信链路传输,以确定无人机的位置,甚至在某些…

STM32-WWDG/IWDG看门狗

WWDG/IWDG一旦开启不能关闭,可通过选项字节在上电时启动硬件看门狗,看门狗计数只能写入不能读取。看门狗启用时,T6bit必须置1,防止立即重置。 一、原理 独立看门狗-超时复位 窗口看门狗-喂狗(重置计数器,…

【形式篇】年终总结怎么写:PPT如何将内容更好地表现出来

——细节满满,看完立马写出一篇合格的PPT 总述 形式服务于内容,同时合理的形式可以更好地表达和彰显内容 年终总结作为汇报型PPT,内容一定是第一位的,在内容篇(可点击查看)已经很详细地给出了提纲思路,那如何落实到…

分享3个国内使用正版GPT的网站【亲测有效!2025最新】

1. molica 传送入口:https://ai-to.cn/url/?umolica 2. 多帮AI 传送入口:https://aigc.openaicloud.cn?inVitecodeMYAAGGKXVK 3. 厉害猫 传送入口:https://ai-to.cn/url/?ulihaimao

使用免费内网穿透(p2p)网络环境搭建小型文件管理服务器(简单操作)

目录 前言 “节点小宝” 使用环境: 应用场景: 准备工作 安装 …

在macOS上安装MySQL

macOS的MySQL有多种不同的形式: 1、本机包安装程序,它使用本机macOS安装程序(DMG)引导您完成MySQL的安装。有关详细信息,请参阅第2.4.2节,“使用本机包在macOS上安装MySQL”。您可以将包安装程序与macOS一…