jenkins最佳实践(一):jenkins安装与部署

各位小伙伴们大家好呀,我是小金,下面我将记录学习jenkins的系列文章与心得,一方面用于博主的自我记录,一方面如果能帮助到正在浏览这篇文章的小伙伴,那更好不过了,本篇文章主要讲述jenkins的安装以及安装jenkins所必须的环境搭建。

一 、 jenkins简介

Jenkins 是一个基于 Java 的开源持续集成和持续部署工具,旨在自动化软件开发流程中的重复工作,如代码编译、测试和部署,从而提高开发效率。

1.1 主要优势:
  • 自动化操作:开发者只需将代码提交到版本控制系统(如 Git),Jenkins 会自动处理后续的编译、测试和部署。
  • 减少错误:通过自动化,降低了手动操作带来的错误风险,确保一致性。
  • 节省时间:避免了手动重复操作,让开发者能专注于编写代码。
  • 丰富的插件生态:Jenkins 提供多种插件,支持不同需求和扩展功能。
1.2 工作流程:
  • 开发人员将代码提交到版本控制系统(如Git)。
  • enkins 通过 Git 插件获取最新代码,并执行相应的构建任务。
  • 构建完成,可以将构建的包推送到业务服务器或 docker 镜像服务器。
  • 任务构建成功或失败,Jenkins 可以自动发送通知,以便及时处理问题。

二 、 环境安装

考虑到环境隔离和便于迁移博主最初是将Jenkins安装在docker容器上的,可是后来遇到一系列很麻烦的问题,在处理容器与宿主机之间频繁出现问题,后来博主就将此环境之间安装在宿主机上了,这大大的简化了文件的传输与转移,以及流水线脚本的编写过程。因此我们以下演示的均是直接在宿主机上操作的。

2.1 安装JDK

这里直接使用yum命令安装

js 复制代码
sudo yum install java-11-openjdk

如果系统已经安装过了jdk,但是又想更换默认的jdk版本,可使用如下命令,进行默认jdk版本的切换

复制代码
sudo alternatives --config java

选择对应的序号即可。

2.2 安装Maven

这里使用安装包的方式安装,博主使用的版本是 apache-maven-3.9.8-bin.tar 有需要的可以下载,也可以下载其他版本的maven跳转下载 提取码:0913

js 复制代码
#在指定的目录下解压 安装包
tar zxf apache-maven-3.9.8-bin.tar.gz
#重命名一下文件目录
mv apache-maven-3.9.8 maven3
#配置环境变量:
sudo vi /etc/profile
#在文件的末尾添加以下两行,设置`M2_HOME`和`PATH`变量:
export M2_HOME=maven安装目录
export PATH=$PATH:$M2_HOME/bin
#保存后退出  使得配置生效
source /etc/profile
#验证
mvn -version

配置环境变量

验证版本

对于settings文件同学们可以配置为阿里云的镜像,此处省略,后面的文章会有对这方面的改造。

2.3 安装git

直接运行命令即可

复制代码
#安装
yum install git
#查看版本
git --version
2.4 安装node

如果是只部署后端服务,此步骤可以省略,node环境是为前端服务部署准备的。

博主使用的系统是centos7,当前系统最高支持node版本到 16x,过高的版本会报错,这里我们使用 nvm 来安装 node,这样还可以在想要的时候,切换 node 版本。我们这里使用v16.20.2版本。

首先,需要下载并安装 NVM。你可以使用 curlwget 来完成这一步。

2.4.1 安装 NVM

使用 wget

复制代码
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.4/install.sh | bash

加载 NVM

安装完成后,你需要重新加载 shell 配置文件来使 NVM 生效。通常情况下,你可以运行以下命令:

复制代码
source ~/.bashrc

验证 NVM 安装

通过运行以下命令来验证 NVM 是否成功安装:

复制代码
nvm --version

配置环境变量

复制代码
vim ~/.bashrc

~/.bashrc 文件中添加如下内容:

复制代码
# nodejs下载更换淘宝镜像
export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node

然后刷新环境变量,并查看nvm版本:

复制代码
# 刷新环境变量
source ~/.bashrc

![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/d892252f2db74fd980ac56602c6e2585~tplv-73owjymdk6-jj-mark:0:0:0:0:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiMzU3MDgzNzQ5NDk4ODUyNiJ9&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1724643905&x-orig-sign=828bA%2FiHfilam5prJsus4fBJ%2FWo%3D)
# 检查nvm版本,检查是否安装成功
nvm -v
2.4.2 安装 node

nvm使用

复制代码
# 查看所有能安装的nodejs版本
nvm ls-remote 

# 安装指定的版本
nvm install 21.6.0

# 使用指定版本,临时有效
nvm use 21.6.0

# 设置默认版本
nvm use 21.6.0
nvm alias default 21.6.0

上面在查看和安装的时候可能会遇到一个问题,就是 nvm ls-remote 执行结果可能只显示"iojs-"开头的版本,那么尝试下面的方式:

复制代码
# 由于网络问题nvm ls-remote执行结果可能只显示"iojs-"开头的版本,如果是这样,尝试下面的指令试试
NVM_NODEJS_ORG_MIRROR=http://nodejs.org/dist nvm ls-remote
NVM_NODEJS_ORG_MIRROR=http://nodejs.org/dist nvm install 16.20.2

node默认安装在nvm下的versions文件夹中

查看 NVM 安装目录

NVM 通常安装在用户的主目录中,具体路径是 ~/.nvm。你可以通过以下命令查看:

复制代码
echo $NVM_DIR

当前应该安装在 /root/.nvm/versions/node/v16.20.2 目录下,后边会用到,先记下安装位置。

2.5 安装jenkins
2.5.1 安装并启动Jenkins
  1. 添加Jenkins的yum仓库:

    创建一个新的repo文件 /etc/yum.repos.d/jenkins.repo 并添加以下内容:

    [jenkins]
    name=Jenkins
    baseurl=http://pkg.jenkins-ci.org/redhat-stable
    gpgcheck=1
    gpgkey=https://jenkins-ci.org/redhat/jenkins-ci.org.key
    enabled=1

  2. 导入Jenkins的公钥:

    sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key

  3. 安装Jenkins:

    sudo yum install jenkins

  4. 启动Jenkins服务:

    sudo systemctl start jenkins

  5. 设置Jenkins开机自启:

    sudo systemctl enable jenkins

  6. 访问Jenkins:

    安装完成后,你可以在浏览器中通过 http://your_server_ip:8080 访问Jenkins。第一次访问时,你会被要求输入管理员密码,这个密码位于安装日志文件中,通常在 /var/lib/jenkins/secrets/initialAdminPassword

请确保你的防火墙设置允许8080端口的流量通过,否则你可能无法从外部访问Jenkins。如果你使用的是firewalld,可以使用以下命令:

复制代码
sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
sudo firewall-cmd --reload

安装成功,访问页面如下。下面的操作不再赘述,创建新用户,完成推荐插件安装即可。



相关推荐
乘云数字DATABUFF4 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
荣--5 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森6 天前
动手实战学 Docker — 从零到集群编排完全指南
运维
Avan_菜菜6 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
SelectDB7 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
XIAOHEZIcode9 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220709 天前
如何搭建本地yum源(上)
运维
大树8812 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠12 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质12 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务