代码改变世界

容器化部署之Jenkins分布式节点、pipeline10 - 教程

2025-09-19 11:01  tlnshuju  阅读(7)  评论(0)    收藏  举报

一、jenkins分布式节点

1)创建节点

  • 创建远程工作目录

在这里插入图片描述
在这里插入图片描述

  • 运行节点(依赖jdk)
    在这里插入图片描述

在这里插入图片描述

2)创建项目

  • jenkins添加webhook
    选择gitee,添加webhook
# 使用ngrok映射公网地址
sudo tar -xvzf ngrok-v3-stable-linux-amd64.tgz -C /usr/local/bin
ngrok config add-authtoken 2hVzpESrnADT1PJqcdGCmYmDWmI_6LZKZXm83s6uvg6WfbgSH
ngrok http 8080
# 访问
https://356b-112-20-67-139.ngrok-free.app/generic-webhook-trigger/invoke?token=fa0apo-weqa-093d-seffe@123

在这里插入图片描述

  • 添加git源码管理
    jenkins添加gitee,ssh方式连接
    查看私钥:cat ~/.ssh/id_rsa
    在这里插入图片描述

  • 执行shell(自动构建镜像并推送)

docker build -t autotpsite:v1 .
docker tag autotpsite:v1 192.168.xxx.xxx:5001/autotpsite:v1
docker login 192.168.xxx.xxx:5001
docker push 192.168.xxx.xxx:5001/autotpsite:v1

二、pipeline流水线

pipeline的出现代表企业人员可以更自由的通过代码来实现不同的工作流程。
在这里插入图片描述
1)流水线结构
Node:节点(某台机器),执行任务的具体环境
Stage:环节,表示一组操作,通常用来逻辑划分
脚本语法:shell+groovy

容器部署jenkins:

docker run -id --name jenkins2 -p 8080:8080 -p 50000:50000 -v /var/jenkins_node:/var/jenkins_home --restart=always --privileged=true registry.cn-hangzhou.aliyuncs.com/sqqdcl/jenkins:v5

2)流水线语法
分为声明式语法和脚本式语法,一般使用脚本式语法。
在这里插入图片描述

流水线脚本配置Jenkinsfile:

node("autotpsite"){ //指定标签是autotpsite的节点运行此任务
// 需要运行的任务,命令行
stage("停止服务"){
checkout scm //下载同步代码文件
sh "docker-compose down"
}
stage("构建"){
//sh "docker build -t autotpsite:v2"
//测试流水线脚本
//def yml_content = readYaml file: 'docker-compose.yml'
//println(yml_content)
//sh "cd autotpsite && cat settings.py" //jenkins默认工作目录下
dir('autotpsite'){
sh "cat settings.py"
}
}
stage("打标签"){
//sh "docker tag autotpsite:v2 192.168.xxx.xxx:5001/autotpsite:v2"
}
stage("重启服务"){
sh "docker-compose up -d"
}

jenkins添加流水线脚本
在这里插入图片描述