Jenkins服务搭建

文章目录

Jenkins服务搭建

今天我们来学习一下 Jenkins 服务的搭建.

Jenkins 是什么?

我们要知道Jenkins是什么呢? 下面这段话来自官网

Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。

Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。

CI / CD 概念

Continuous Integration -- 持续集成

Continuous Delivery -- 持续交付

Continuous Deployment -- 持续部署

Jenkins的搭建

Jenkins 这个软件 是Java语言写的,所以我们需要安装jdk 环境,前置的依赖. 搭建的法 有很多种 支持docker,系统包等 各种安装方式

在实体机上安装 Jenkins
系统环境

Os Role--root (防止权限不足, 产生一些问题)

Operating System--Linux (CentOS 7.6.1810)

系统版本号

lsb_release -a

Step_1- 前置工作-安装Jdk (如已安装, 则跳过)
bash 复制代码
# 1.1--下载jdk17
# cd /home/apps
wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz

# 1.2--解压jdk17
tar -zxvf jdk-17_linux-x64_bin.tar.gz

# 1.3--配置环境变量
sudo vim /etc/profile
# 下面三行, 放到末尾.
export JAVA_HOME=/home/apps/jdk-17.0.12
export CLASSPATH=.:$JAVA_HOME/lib/
export PATH=.:$JAVA_HOME/bin:$PATH

# 1.4--重启环境变量
source  /etc/profile

# 1.5--查看版本号
java -version
Step_2- 安装Jenkins (离线版)
bash 复制代码
# 服务器使用yum安装时, 各种报错异常, 因此使用离线安装.
# 2.1--下载jenkins-xxx.rpm  
# jenkins-2.470-1.1.noarch.rpm 找一个版本 进行下载 rpm 安装 
https://github.com/jenkinsci/jenkins/releases

# 2.2--远程传输jenkins-xxx.rpm
使用Transmit等传输工具, 目标目录 /home/apps

# 2.3--开始安装
cd /home/apps
# 安装rpm package 
rpm -ivh jenkins-2.470-1.1.noarch.rpm

# 2.4--查看jenkins目录
rpm -ql jenkins

# jenkins安装目录, WAR包会放在这里.
/usr/bin/jenkins
# Jenkins配置文件、端口、JENKINS_HOME等配置信息
/usr/lib/systemd/system/jenkins.service
# jenkins.war默认位置
/usr/share/java/jenkins.war
# 关于迁移
/usr/share/jenkins/migrate
# 缓存目录
/var/cache/jenkins
# 默认的JENKINS_HOME
/var/lib/jenkins
Step_3- 安装Git (离线版) 如果已经安装则跳过
bash 复制代码
# 3.1--查看git版本
git --version

# 3.2--卸载git (在线)
yum remove git

# 3.3--卸载git (离线)
# 删除git环境变量
sudo vim /etc/profile
# 删除git安装目录
sudo rm -rf /path/to/git

# 3.4--下载安装包 (2.43.0)
# https://git-scm.com (git-2.43.0.tar.gz)
https://mirrors.edge.kernel.org/pub/software/scm/git

# 3.5--远程传输git-xxx.gz
使用Transmit等传输工具, 目标目录 /usr/local/git

# 3.6--解压安装包
# cd /usr/local/git
tar -zxvf git-2.43.0.tar.gz
# 安装依赖包
yum install libcurl-devel
yum install curl-devel

# 3.7--开始安装
# cd /usr/local/git/git-2.43.0
./configure --prefix=/usr/local/git/git-2.43.0
# 执行如下命令
make && make install

# 3.8--更改配置信息
sudo vim /etc/profile
# 末尾添加内容

# git工作目录
export GIT_HOME=/usr/local/git/git-2.43.0
export PATH=$PATH:$GIT_HOME/bin

# 刷新配置信息
source /etc/profile

# 3.9--验证
git --version
Step_4-修改Git的相关信息 (如已修改, 则跳过)
bash 复制代码
# 4.1--查看git路径
which git
ls -l /usr/bin/git

# 4.2--修改符号链接
sudo rm /usr/bin/git
sudo ln -s /usr/bin/git /usr/local/git/git-2.43.0/git

# 4.3--查看符号链接
ls -l /usr/bin/git

# 4.4--jenkins网页端修改git路径
# dashboard-->系统管理-->全局工具配置-->Git installations
http://47.101.61.222:8900/manage/configureTools
Name: Git2.43.0--0909
Path to Git executable: /usr/local/git/git-2.43.0/git
Step_5-Git常用命令
bash 复制代码
# 5.1--配置命令 配置用户名 邮箱 
git config --global user.name "用户名"
git config --global user.email "邮箱"

# 5.2--修改命令
git config --global user.name "新的用户名"
git config --global user.password "新的密码"
git config --global user.email "新的邮箱"
# 保存密码 使用 
git config --global credential.helper store

# 5.3--查看命令
git config --list
git config --global user.name
git config --global user.password
git config --global user.email
Step_6-修改Jenkins的配置文件
bash 复制代码
# sudo vim /usr/lib/systemd/system/jenkins.service

# 6.1--用户组
User=root
Group=root

# 6.2--日志路径
Environment="JENKINS_LOG=/var/log/jenkins/jenkins.log"

# 6.3--jdk path
Environment="JAVA_HOME=/home/apps/jdk-17.0.12"

# 6.4--jenkins port
Environment="JENKINS_PORT=8900"
Step_7-启动Jenkins

systemctl daemon-reload 是一个用于重新加载 systemd 配置的命令。systemd 是现代 Linux 系统中用于初始化、管理和监督系统服务和进程的系统和服务管理器。当你对服务单元文件(例如 .service 文件)进行了修改后,需要运行这个命令来使这些更改生效。

bash 复制代码
# 7.1--启动命令
sudo systemctl start jenkins

sudo systemctl status jenkins

# 7.2--停止命令
sudo systemctl stop jenkins

# 重新加载 systemd 配置的命令,
systemctl daemon-reload 

# 7.3--重启命令
sudo systemctl restart jenkins

# 7.4--查看版本号
java --version
jenkins --version

# 7.5--查看运行状态
ps -ef | grep jenkins
netstat -ntpl | grep 8900
Step_8-访问Jenkins
bash 复制代码
# 8.1--访问地址
http://47.101.61.222:8900

# 8.2--复制本地密码
cat /var/lib/jenkins/secrets/initialAdminPassword

# 8.3--跳过插件安装

# 8.4--跳过实例配置

# 8.5--开始使用jenkins
Step_9-更新Jenkins的插件源

Jenkins 中 有很多的插件,我们有时候需要下载一些插件,使用国内的源 速度会快一点。

https://www.jenkins-zh.cn/tutorial/management/plugin/update-center/ 这里 可以选择 你需要的源 进行更换

bash 复制代码
# 9.1--目标菜单
Dashboard-->Manage Jenkins-->pluginManager-->Advanced settings-->URL

# 9.2--开始替换
# 替换前--https://updates.jenkins.io/update-center.json
# 替换后-- https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json


# 9.3--安装常用插件
DingTalk  搜索关键字 DingTalk
Publish Over SSH  搜索关键字 Publish Over
Pipeline  搜索关键字 Pipeline (A suite of plugins)
Git Pipeline for Blue Ocean  搜索关键字 Git Pipeline
Localization: Chinese (Simplified)  搜索关键字 Chinese

Workspace Cleanup  搜索关键字 Cleanup
SSH Pipeline Steps  搜索关键字 SSH Pipeline
GitLab Authentication plugin  搜索关键字 GitLab
Git Parameter Plug-In  搜索关键字 Git Parameter
Role-based Authorization Strategy  搜索关键字 Role-Based
Step_10-配置git
bash 复制代码
# 10.1--查看版本号
git --version

# 10.2--安装git (已安装则跳过)
sudo apt update
sudo apt install git

# 10.3--生成SSH密钥对
ssh-keygen -t rsa -b 4096 -C "email_address"

# 10.4--查看SSH密钥
cat ~/.ssh/id_rsa.pub

# 10.5--复制密钥, 粘贴到Gitlab-->SSH 密钥.
Step_11-配置SSH密钥 (需CICD的服务器)
bash 复制代码
# 11.1--登录到目标服务器 (需CICD的服务器)

# 11.2--编辑authorized_keys文件
cd ~/.ssh
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

sudo vim authorized_keys
将jenkins服务器的SSH密钥, 粘贴并保存.

# 11.3--验证SSH连接
ssh root@<host_ip>

总结

本文主要介绍了 Jenkins 的基础搭建过程,核心内容包括:

  1. Jenkins 简介:一款开源的 CI/CD 自动化工具,用于构建、测试和部署软件。

  2. 环境准备:

    • JDK 17 环境搭建
    • Git 环境配置(离线安装)
    • CentOS 7.6 系统环境
  3. Jenkins 安装配置:

    • 离线 RPM 包安装
    • 基础配置(端口、JDK路径、用户组等)
    • 插件源配置(切换国内源)
    • 常用插件安装
  4. 权限配置:

    • Git 配置
    • SSH 密钥配置
    • CI/CD 服务器连接配置

通过以上步骤,同学们可以完成 Jenkins 的基础环境搭建,为后续的 CI/CD 工作打下基础。

参考文档

Jenkins用户手册

Jenkins github

Jenkins 插件更新中心

Jenkins 简述及其搭建

从0搭建属于自己的Jenkins持续集成平台
分享快乐,留住感动. '2025-03-16 21:27:41' --frank

相关推荐
XIAOHEZIcode2 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220702 天前
如何搭建本地yum源(上)
运维
大树885 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠5 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质5 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
Inhand陈工5 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智5 天前
ARP代理--工作原理
运维·网络·arp·arp代理
shushangyun_5 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
施努卡机器视觉5 天前
SNK施努卡侧滑门锁上滑轮总成自动化装配线,从零件到组件,全流程精密制造方案
运维·自动化·制造
AC赳赳老秦5 天前
用 OpenClaw 搭建服务器故障应急响应系统,自动处理 80% 常见运维故障
android·运维·服务器·python·rxjava·deepseek·openclaw