目录
3.Jenkins手动测试前端项目CD 流水线代码(下载部署文件)
6.Jenkins手动测试前端项目CD 流水线代码(发布应用)
7.Jenkins手动测试前端项目CD 流水线代码(添加选择回滚功能)
12.Jenkins通过GitLab共享库实现前端项目在K8S自动发布应用
2.将K8S master节点配置为jenkins从节点报错
一、实验
1.环境
(1)主机
表1 主机
| 主机 | 架构 | 版本 | IP | 备注 |
| master1 | K8S master节点 | 1.20.6 | 192.168.204.180 | jenkins slave (从节点) |
| node1 | K8S node节点 | 1.20.6 | 192.168.204.181 | |
| node2 | K8S node节点 | 1.20.6 | 192.168.204.182 | |
| jenkins | jenkins主节点 |
2.414.2 | 192.168.204.15:8080 | gitlab runner (从节点) |
| harbor私有仓库 | 1.2.2 | 192.168.204.15 | ||
| gitlab | gitlab 主节点 |
12.10.14 | 192.168.204.8:82 | jenkins slave (从节点) |
| sonarqube | 9.6 | 192.168.204.8:9000 |
2.GitLab新建项目存放K8S部署文件
(1)新建项目

(2)K8S查看节点及部署文件
# kubectl get nodes
# cat devops03-devops-ui.yaml
(3)将部署文件复制到GitLab项目

(4)完成提交

(5)查看项目编号为22

3.Jenkins手动测试前端项目CD 流水线代码(下载部署文件)
(1)在回放中运行测试代码
@Library("mylib@master") _
import org.devops.*
def gitlabbutil = new Gitlab()
pipeline {
agent { label "build"}
options {
skipDefaultCheckout true
}
stages{
stage("GetDeployFile"){
steps{
script {
println("GetCode")
fileData = gitlabbutil.GetRepoFile(22,"deployment.yaml", "master")
println(fileData)
}
}
}
}
}

(2)成功


(3)生成流水线脚本实现写入文件

(4)回放中运行代码测试代码
@Library("mylib@master") _
import org.devops.*
def gitlabbutil = new Gitlab()
pipeline {
agent { label "build"}
options {
skipDefaultCheckout true
}
stages{
stage("GetDeployFile"){
steps{
script {
println("GetCode")
fileData = gitlabbutil.GetRepoFile(22,"deployment.yaml", "master")
println(fileData)
writeFile file: 'deployment.yaml', text: fileData
sh "ls -l; cat deployment.yaml"
}
}
}
}
}

(2)成功


4. 将K8S master节点配置为jenkins从节点
(1)Jenkins添加节点

(2)设置

(3)配置界面

(4)K8S master节点创建目录下载jar包
# mkdir /tmp/jenkinsagent
# cd /tmp/jenkinsagent
# wget http://192.168.204.15:8080/jnlpJars/agent.jar

选择第3种方式进行安装
运或者运

文章详细描述了如何使用Jenkins和Kubernetes(K8S)进行前端项目的持续交付(CD),包括创建GitLab项目、部署文件管理、Jenkins流水线配置、K8S手动回滚、自动发布以及遇到的问题与解决方案。重点讲述了如何配置Jenkins从节点和K8Smaster节点,以及解决WebSocket端口被禁用和Java版本不匹配的问题。

最低0.47元/天 解锁文章
1895

被折叠的 条评论
为什么被折叠?



