做甜品台的网站,公司在网站做广告怎么做分录,wordpress首页添加一个超链接框,网站虚拟主机是什么目录
节点在 Jenkins 中的主要作用
1. 分布式构建
分布式处理
负载均衡
2. 提供不同的运行环境
多平台支持
特殊环境需求
3. 提高资源利用率
动态资源管理
云端集成
4. 提供隔离和安全性
任务隔离
权限控制
5. 提高可扩展性
横向扩展
高可用性
Jenkins 主服务…目录
节点在 Jenkins 中的主要作用
1. 分布式构建
分布式处理
负载均衡
2. 提供不同的运行环境
多平台支持
特殊环境需求
3. 提高资源利用率
动态资源管理
云端集成
4. 提供隔离和安全性
任务隔离
权限控制
5. 提高可扩展性
横向扩展
高可用性
Jenkins 主服务器Master
Jenkins 从服务器Agent
准备节点环境
添加节点
建立任务
自动上线测试 在 Jenkins 中节点Node是指 Jenkins 用于执行构建任务的计算资源。节点的主要作用是提供构建和测试任务的运行环境。通过使用多个节点Jenkins 可以分布式地执行构建任务从而提高效率和并行处理能力。 节点在 Jenkins 中的主要作用 1. 分布式构建
分布式处理
节点允许 Jenkins 将构建任务分布到多个机器上运行从而实现并行处理。这有助于减少构建时间特别是对于大型项目或需要运行大量测试的项目。
负载均衡
通过在多个节点之间分配任务Jenkins 可以实现负载均衡避免单个节点过载。这有助于提高系统的稳定性和性能。
2. 提供不同的运行环境
多平台支持
节点可以运行在不同的操作系统和硬件平台上。通过在不同平台上配置节点Jenkins 可以针对不同平台进行构建和测试例如 Windows、Linux 和 macOS。
特殊环境需求
有些项目可能需要特定的软件或硬件环境。通过在特定配置的节点上运行构建任务Jenkins 可以满足这些特殊环境的需求。例如某些构建任务可能需要特定版本的编译器、库或硬件设备。
3. 提高资源利用率
动态资源管理
通过动态添加或移除节点Jenkins 可以根据需求调整可用的计算资源。这有助于在高峰期提供更多的计算能力而在低负载时期减少资源浪费。
云端集成
Jenkins 可以集成云计算平台如 AWS、Azure、Google Cloud自动启动和关闭云端节点从而优化资源使用和成本。
4. 提供隔离和安全性
任务隔离
通过在不同的节点上运行构建任务可以实现任务之间的隔离避免相互干扰。例如不同的任务可以在独立的虚拟机或容器中运行从而提高安全性和稳定性。
权限控制
可以对不同的节点设置不同的访问权限从而控制哪些用户或任务可以在特定节点上运行。这有助于保护敏感的构建环境和数据。
5. 提高可扩展性
横向扩展
通过增加节点数量Jenkins 可以轻松实现横向扩展以满足不断增长的构建需求。这种扩展方式通常比增加单个服务器的性能更具成本效益。
高可用性
通过在多个节点上运行构建任务Jenkins 可以提高系统的高可用性。如果某个节点发生故障其他节点可以继续处理任务从而减少停机时间。 在 Jenkins 中节点Node是 Jenkins 运行构建任务的机器。节点可以是 Jenkins 主服务器Master或一台或多台从服务器Agent。
Jenkins 主服务器Master
Jenkins 主服务器不仅承担了用户界面和调度任务的职责还可以运行构建任务。然而为了提高系统的可扩展性和稳定性通常建议将实际的构建任务分配给从服务器来运行而主服务器主要负责管理和调度。
Jenkins 从服务器Agent
Jenkins 从服务器是由主服务器管理的机器用于实际运行构建任务。通过分布式的方式Jenkins 可以将构建任务分发到多个从服务器上从而提高构建效率和并发能力。 准备节点环境 本实验前提环境基于上篇博文配置Jenkins安装部署与配置-CSDN博客
现在再新增一台虚拟机关闭防火墙和selinux进行时间同步
主机名node01192.168.226.24Rocky_linux9.42核心2G
#修改主机名
[rootlocalhost ~]# hostnamectl set-hostname node01
#进行时间同步
[rootlocalhost ~]# systemctl restart chronyd在名为jenkins的主机中生成密钥对
#生成密钥对
[rootjenkins ~]# ssh-keygen#将公钥拷贝到节点node01主机上
[rootjenkins ~]# ssh-copy-id 192.168.226.24
给node01主机安装JDK
[rootnode01 ~]# wget https://download.oracle.com/java/17/archive/jdk-17.0.6_linux-x64_bin.rpm
[rootnode01 ~]# yum install -y jdk-17.0.6_linux-x64_bin.rpm[rootnode01 ~]# java -version
java version 17.0.6 2023-01-17 LTS
Java(TM) SE Runtime Environment (build 17.0.69-LTS-190)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.69-LTS-190, mixed mode, sharing)添加节点
来到主节点机器的web页面
查看节点信息 添加节点 #将私钥填入设置里
[rootjenkins ~]# cat .ssh/id_rsa
-----BEGIN OPENSSH PRIVATE KEY-----
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
-----END OPENSSH PRIVATE KEY-----刷新网页看节点信息点击node01几点点击日志可以看到信息 现在将该node01节点下线进行后续操作 建立任务 下面会使用到此博文的极狐gitlab 极狐Gitlab使用1-CSDN博客
登录gitlab的web管理页面选择一个用户进入创建访问令牌 返回jenkins的web页面 在jenkins主机的工作空间中查看
[rootjenkins ~]# cd .jenkins/workspace/
[rootjenkins workspace]# ll
total 0
drwxr-x--- 4 root root 54 Jul 11 20:40 test001
drwxr-x--- 2 root root 6 Jul 11 20:40 test001tmp
[rootjenkins workspace]# cd test001
[rootjenkins test001]# ll
total 8
-rw-r----- 1 root root 6163 Jul 11 20:40 README.md
drwxr-x--- 2 root root 24 Jul 11 20:40 xiaoliceshi
[rootjenkins test001]# cd xiaoliceshi/
[rootjenkins xiaoliceshi]# ll
total 4
-rw-r----- 1 root root 67 Jul 11 20:40 index.html
[rootjenkins xiaoliceshi]# cat index.html
这是一个测试
sdsxcbc
cb
ccvvc
!--[if IE]cb![endi[rootjenkins xiaoliceshi]# 当开发再次更新版本后我们只需点一次构建即可将代码拉取到jenkins主机中。那么我们可以通过配置拉取后的动作即shell命令去让其拉取后自动替换到项目所在的发布目录中就可以实现一次构建自动上线。 自动上线测试 在node01主机中下载nginx将该主机模拟成发布项目的服务器
当然改主机进行了关闭防火墙和selinux进行时间同步 [rootnode01 ~]# yum install -y nginx
[rootnode01 ~]# systemctl enable --now nginx
[rootnode01 ~]# ssh-keygen
[rootnode01 ~]# ssh-copy-id 192.168.226.22
打开nginx页面查看一下 现在来到gitlab页面进行模拟前端开发修改代码这里我使用xiaobai用户进入连接的项目里切换到测试分支进行编辑代码 合并分支到main 来到jenkins页面
修改test001配置 修改配置其中有一些命令和模板在下面的代码已给出可以复制使用 echo 代码拉取完成
echo
echo 准备进行上线
scp xiaoliceshi/index.html 192.168.226.24:/usr/share/nginx/html/
ssh 192.168.226.24 chmod 777 -R /usr/share/nginx/html/
ssh 192.168.226.24 systemctl restart nginx
echo 上线任务已完成
echo
邮件主题模板
项目 【$PROJECT_NAME】 第【$BUILD_NUMBER】次构建 - $BUILD_STATUS!
邮件内容模板
!DOCTYPE html
html
head
meta charsetUTF-8
title${ENV, varJOB_NAME}-第${BUILD_NUMBER}次构建日志/title
/head body leftmargin8 marginwidth0 topmargin8 marginheight4 offset0 table width95% cellpadding0 cellspacing0 stylefont-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif
h3本邮件由系统自动发出请勿回复/h3 tr br/ 各位同事大家好以下为${PROJECT_NAME }项目构建信息/br tdfont color#CC0000构建结果 - ${BUILD_STATUS}/font/td /tr tr tdbr / bfont color#0B610B构建信息/font/b hr size2 width100% aligncenter //td /tr tr td ul li项目名称 ${PROJECT_NAME}/li li构建编号 第${BUILD_NUMBER}次构建/li li触发原因 ${CAUSE}/li li构建状态 ${BUILD_STATUS}/li li构建日志 a href${BUILD_URL}console${BUILD_URL}console/a/li li构建 Url a href${BUILD_URL}${BUILD_URL}/a/li li工作目录 a href${PROJECT_URL}ws${PROJECT_URL}ws/a/li li项目 Url a href${PROJECT_URL}${PROJECT_URL}/a/li /ul h4font color#0B610B最近提交/font/h4
ul
hr size2 width100% /
${CHANGES_SINCE_LAST_SUCCESS, reversetrue, format%c, changesFormatli%d [%a] %m/li}
/ul
详细提交: a href${PROJECT_URL}changes${PROJECT_URL}changes/abr//td /tr /table
/body
/html 现在修改好了配置就保存然后点击构建 此时代表已经构建成功了 再次来到node01主机的nginx页面查看已经被新代码替换了完成了点一下构建就可以上线项目。