「K8s」《Jenkins的安装与使用,轻松构建自动化工作流程》

《Jenkins的安装与使用,轻松构建自动化工作流程》

  • 1、介绍
    • 1.1 什么是Jenkins
    • 1.2 Jenkins的优势和用途
      • 1.2.1 优势
      • 1.2.2 用途
  • 2、安装Jenkins
    • 2.1 下载Jenkins
    • 2.2 安装Jenkins
    • 2.3 启动Jenkins
  • 3、配置Jenkins
    • 3.1 访问Jenkins控制台
    • 3.2 安装插件
    • 3.3 创建管理员账号
    • 3.4 安装工具
    • 3.5 安裝Git环境
    • 3.6 安装Maven环境
    • 3.7 安装Docker-compose
    • 3.6 设置全局配置
  • 4、创建Jenkins项目
    • 7.1 Liunx/CentOS7 上安装好 Jenkins 后无法访问的问题

1、介绍

1.1 什么是Jenkins

Jenkins是一个开源的持续集成和交付工具,用于自动化构建、测试和部署软件项目。它提供了一个易于使用的Web界面,帮助开发团队自动化构建、测试和交付应用程序。

Jenkins 具有以下主要特点和功能

  • 自动化构建:可以通过配置构建任务来自动构建项目代码,包括编译、打包、测试等过程。
  • 持续集成:可以与版本控制系统(如Git、SVN等)集成,实时监测代码变更,并触发自动构建和测试。
  • 插件扩展:Jenkins 提供了大量的插件,用于扩展其功能,支持各种不同的构建、测试和部署场景。
  • 可视化界面:提供了直观的图形界面,用于管理和监控构建任务、查看构建日志和报告等。
  • 安全性和权限控制:可以配置用户权限和安全策略,确保只有授权的人员能够访问和操作 Jenkins。

通过使用 Jenkins,开发团队可以实现持续集成和交付,提高软件开发的效率和质量。它广泛应用于各种软件开发项目,包括Web应用程序、移动应用程序、嵌入式系统等。

1.2 Jenkins的优势和用途

1.2.1 优势

  1. 自动化构建、测试和部署软件项目。
  2. 持续集成和持续交付流程的实现。
  3. 可扩展性和丰富的插件生态系统。
  4. 灵活的配置和自定义选项。
  5. 多平台和多项目支持。
  6. 可靠性和稳定性。

1.2.2 用途

  1. 自动化构建和测试:自动拉取代码、编译、运行测试、生成测试报告等。
  2. 持续集成和持续交付:与版本控制系统集成,实现快速迭代和交付。
  3. 自动化部署和发布:自动将构建结果部署到不同环境。
  4. 监控和报警:监控项目构建和部署状态,及时发送报警通知。
  5. 构建日志和报告的可视化管理。
  6. 集成其他工具和服务,如代码质量分析工具、持续部署工具等。

2、安装Jenkins

2.1 下载Jenkins

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key

2.2 安装Jenkins

yum install fontconfig java-11-openjdk
yum install jenkins

「K8s」《Jenkins的安装与使用,轻松构建自动化工作流程》_第1张图片

2.3 启动Jenkins

# 启动Jenkins
systemctl start jenkins
# 设置开机启动
systemctl enable jenkins
# 查看Jenkins状态
systemctl status jenkins

「K8s」《Jenkins的安装与使用,轻松构建自动化工作流程》_第2张图片

3、配置Jenkins

3.1 访问Jenkins控制台

  • 游览
    打开浏览器输入链接:http://localhost:8080 , 默认端口号是8080

  • 查看密码

# 查看密码
cat /var/lib/jenkins/secrets/initialAdminPassword 

在这里插入图片描述

  • 登录
    「K8s」《Jenkins的安装与使用,轻松构建自动化工作流程》_第3张图片

3.2 安装插件

-安装推荐的插件
「K8s」《Jenkins的安装与使用,轻松构建自动化工作流程》_第4张图片

  • 等待安装完成「K8s」《Jenkins的安装与使用,轻松构建自动化工作流程》_第5张图片

3.3 创建管理员账号

  • 创建账号
    「K8s」《Jenkins的安装与使用,轻松构建自动化工作流程》_第6张图片
  • 安装成功,进入页面
    「K8s」《Jenkins的安装与使用,轻松构建自动化工作流程》_第7张图片

3.4 安装工具

  • 安装Gitee
    「K8s」《Jenkins的安装与使用,轻松构建自动化工作流程》_第8张图片
  • 安装Maven可以自行在Linux系统安装,推荐直接在Linux中安装
    「K8s」《Jenkins的安装与使用,轻松构建自动化工作流程》_第9张图片

3.5 安裝Git环境

  • 安装
# 安装
[root@rancher bin]# yum -y install git
# 查看版本
[root@rancher bin]# git --version
git version 2.27.0
# yum安装git被安装在/usr/libexec/git-core目录下

3.6 安装Maven环境

  • 下载命令
wget https://dlcdn.apache.org/maven/maven-4/4.0.0-alpha-7/binaries/apache-maven-4.0.0-alpha-7-bin.tar.gz

在这里插入图片描述

  • 将安装包移动到/usr/local/目录下
mv apache-maven-4.0.0-alpha-7-bin.tar.gz /usr/local/
  • 解压、安装
# 进入/usr/local/目录
cd /usr/local
# 解压
tar -zxvf apache-maven-4.0.0-alpha-7-bin.tar.gz
# 重命名
mv apache-maven-4.0.0-alpha-7 maven
# 删除安装包
rm -rf apache-maven-4.0.0-alpha-7-bin.tar.gz

  • 配置阿里云镜像和仓库地址
# 进入maven目录
cd /usr/local/maven/
# 创建目录 repo
mkdir repo
# 配置本地仓库
# 编辑conf/settings.xml 文件
vim conf/settings.xml 
# 添加本地仓库配置
<localRepository>/usr/local/maven/repo</localRepository>
# 注释掉原本的镜像 添加阿里云镜像
<mirror>
    <id>alimaven</id>
    <name>aliyun maven</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    <mirrorOf>central</mirrorOf>
</mirror>

esc :wq保存并退出

「K8s」《Jenkins的安装与使用,轻松构建自动化工作流程》_第10张图片

「K8s」《Jenkins的安装与使用,轻松构建自动化工作流程》_第11张图片

  • 配置环境变量
vim /etc/profile
# 新增
export MAVEN_HOME=/usr/local/maven 
export  PATH=${JAVA_HOME}/bin:${CATALINA_HOME}/bin:${MAVEN_HOME}/bin:$PATH 
# :wq
# 刷新
source /etc/profile
# 测试
mvn -version

3.7 安装Docker-compose

  • 通过pip在线安装(推荐)
#安装依赖
yum -y install epel-release
#安装PIP
yum -y install python-pip
#升级PIP
pip install --upgrade pip
  • 下载安装
curl -L "https://github.com/docker/compose/releases/download/1.29.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 添加权限
chmod +x /usr/local/bin/docker-compose
# 运行
docker-compose
  • 使用官方安装脚本自动安装

安装命令如下:

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

3.6 设置全局配置

  • 找到入口
    「K8s」《Jenkins的安装与使用,轻松构建自动化工作流程》_第12张图片
  • 新增凭据
    「K8s」《Jenkins的安装与使用,轻松构建自动化工作流程》_第13张图片
  • 选择Gitee令牌,进入Gitee凭据页面Gitee
    「K8s」《Jenkins的安装与使用,轻松构建自动化工作流程》_第14张图片
  • 进入页面后选择创建令牌
    在这里插入图片描述
  • 输入凭据描述(随意)
    「K8s」《Jenkins的安装与使用,轻松构建自动化工作流程》_第15张图片
  • 复制令牌
    「K8s」《Jenkins的安装与使用,轻松构建自动化工作流程》_第16张图片
  • 创建完成
    「K8s」《Jenkins的安装与使用,轻松构建自动化工作流程》_第17张图片
  • 新增Git凭据Git
    「K8s」《Jenkins的安装与使用,轻松构建自动化工作流程》_第18张图片
  • 在linux中生成秘钥
 ssh-keygen -t rsa

「K8s」《Jenkins的安装与使用,轻松构建自动化工作流程》_第19张图片

  • 查看秘钥

[root@rancher git-core]# cat /root/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCoQ1yhxX/1OQ9rb1ySIqNOpby6jsW3JqpW9uZgVnpUx3ssYrIPR8TAgFKy1jZVqimd8rvJzE7QBmnFI+GKsLEIsykAhxT69M6z5LYor1CxwdS4BY5edVfo1L9uHXFIyYJ2etz2ZVqjGCYvovXum1WEOv+QLcAK3xFn7NF/hKxBWKwgHWMiSXbuq57h81ulsNxaQa8wM7YcBlt9MWiA+R5LfkLTD2ViGQN4yXSVapNappb5H4Fn+JnkB+R886oQeGdt71NXzTAqZzAkj1zVKRxf6WPTPauhIFV6Sj4W+1SYnEMOfkL2soJAmJULIsUQ9q9NFjERY6Er8ESQuYlH+e2ctGyr6ydPgvqXrrt+UgspIfbwuguDscJ9Ux2GCr0xpNYF7V8JBN+MWEyWolSM26+ZGw1Qan8i3DQVbtiWZ8oY9leclKt53IuseQ22upqSD/sF05dItdw/pj8IYMPlLUpS06U1ePED2yt1vku1quFiodvkUq8zwP4/ise1Pr0wcic= root@rancher
  • 配置参数
    「K8s」《Jenkins的安装与使用,轻松构建自动化工作流程》_第20张图片

4、创建Jenkins项目

  • 创建一个项目
    「K8s」《Jenkins的安装与使用,轻松构建自动化工作流程》_第21张图片

  • 配置代码地址「K8s」《Jenkins的安装与使用,轻松构建自动化工作流程》_第22张图片

  • 增加构建步骤1,选择Maven构建
    「K8s」《Jenkins的安装与使用,轻松构建自动化工作流程》_第23张图片

  • 增加构建步骤2,选择Shell命令执行构建「K8s」《Jenkins的安装与使用,轻松构建自动化工作流程》_第24张图片

  • 输入命令行

打包成功之后将jar包使用Dockerfile编排文件打包为镜像,然后推送到阿里云私有仓库,然后通知rancher升级版本,执行重新部署

echo "打包成功"
cd /var/lib/jenkins/workspace/project/target 
echo "打包为docker镜像------start"
cp /Dockerfile /var/lib/jenkins/workspace/project/target/
docker build --build-arg JAR_NAME=spring-k8s-2023.jar -t spring-k8s-2023 .
echo "打包为docker镜像------end"
TAG=$(date +'%Y%m%d%H%M%S')
echo "镜像名称为:spring-k8s-2023:$TAG"
docker tag spring-k8s-2023 registry.cn-hangzhou.aliyuncs.com/personal_xiang/spring-k8s-2023:$TAG
echo "推送到阿里云仓库------start"
docker login --username=15085938784 --password="XIANGXIANG401" registry.cn-hangzhou.aliyuncs.com
docker push registry.cn-hangzhou.aliyuncs.com/personal_xiang/spring-k8s-2023:$TAG
echo "推送到阿里云仓库------end"
# 更新镜像
echo "开始将新镜像部署到远端!"
echo "$TAG"
/usr/bin/rancher kubectl set image deployment/spring-k8s-2023 spring-k8s-2023=registry.cn-hangzhou.aliyuncs.com/personal_xiang/spring-k8s-2023:$TAG -n jenkins
[ $? != 0 ] && echoRed "请注意,在执行镜像更新时出错,故而退出!" && exit 1
echo "部署完成!"

创建dockerfile文件内容
「K8s」《Jenkins的安装与使用,轻松构建自动化工作流程》_第25张图片

# Dockerfile
FROM openjdk:8-jdk-alpine
COPY ./spring-k8s-2023.jar ./app/spring-k8s-2023.jar
WORKDIR /app
CMD ["java", "-jar", "spring-k8s-2023.jar"]
  • 执行构建
    「K8s」《Jenkins的安装与使用,轻松构建自动化工作流程》_第26张图片

7.1 Liunx/CentOS7 上安装好 Jenkins 后无法访问的问题

解决办法: Liunx/CentOS7 上安装好 Jenkins 后无法访问的问题

你可能感兴趣的:(#,Devops,运维,kubernetes,jenkins,自动化)