实验架构:192.168.0.96    gitlab192.168.0.97    jenkins、tomcat192.168.0.98    harbor、docker集群、git、jdk、maven
1、先把单个jenkins做成可以部署到docker集群中。参照:https://www.cnblogs.com/effortsing/p/10468840.html2、192.168.0.98作为jenkins-slave节点进行试验,注意:192.168.0.98不需要安装jenkins,只通过master节点上添加node就可以搞定
2.1、 安装smart jenkins 插件,如图所示:

3、jenkins-slave节点上安装git、jdk、maven。 git安装:用yum安装git后就不用管了jdk安装:安装包要解压到/usr/local下maven安装:安装包要解压到/usr/local下4、配置jenkins-slave节点上的git拉取代码:添加ssh-key公钥到gitlab参照:https://www.cnblogs.com/effortsing/p/10012158.html5、192.168.0.97(jenkins主机)配置免密登录192.168.0.98主机6、jenkins-slave主机配置免密登录自己,因为pipline脚本里面需要把容器部署到本机上7、在jenkins主机上添加一个凭证(登录192.168.0.98的用户名密码:root/123)8、在jenkins主机上找到系统管理---节点管理--新建新节点--名称(192.168.0.98);远程工作目录:/usr/local/;host:192.168.0.98,如下图:

9、给slave节点添加工具位置(maven、jdk),如下图:
10、slave正常状态如下图所示:
11、pipline脚本如下:node ("192.168.0.98") {stage('git checkout'){echo 'git clone'checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'c32a3a24-2c9d-4c8d-b456-9d6d0badf3a2', url: 'http://192.168.0.96:8081/zihao/test.git']]])}stage('maven build'){echo 'maven build'sh '''export JAVA_HOME=/usr/local/jdk1.8.0_171//usr/local/apache-maven-3.5.4/bin/mvn clean package -Dmaven.test.skip=true'''}stage('docker build and push images'){
echo 'docker build and push images'
sh '''
REPOSITORY=192.168.0.98:5000/library/solo/solo:${Tag}
cat >Dockerfile<<EOF
FROM 192.168.0.98:5000/library/tomcat-85:latest
RUN rm -rf /usr/local/tomcat/webapps/ROOT/
COPY target/*.war /usr/local/tomcat/webapps/ROOT.war
WORKDIR /usr/local/tomcat
EXPOSE 8080
CMD ["./bin/catalina.sh", "run"]
EOF
docker build -t $REPOSITORY .
docker login -u admin -p Harbor12345 192.168.0.98:5000
docker push $REPOSITORY
'''}stage('deploy'){
echo 'deploy'
sh '''
REPOSITORY=192.168.0.98:5000/library/solo/solo:${Tag}
cat >deploy.sh<<EOF
#!/bin/bash
ssh root@192.168.0.98 'docker container run -d --name blog-solo-2 -v /opt:/opt -p 89:8080 $REPOSITORY'
EOF
chmod +x deploy.sh
sh deploy.sh
'''}
}12、开始构建如下图所示:

13、构建成功入下图:

参照文档:http://www.cnblogs.com/zndxall/p/8297356.html

转载于:https://www.cnblogs.com/effortsing/p/10472062.html

jenkins--master/slave模式---master是容器版---slave是非容器版相关推荐

  1. jenkins slave在master显示和运行问题

    jenkins slave在master显示和运行问题 1.工作空间的中文文件显示乱码 2.运行一些插件报错如下 java.nio.file.InvalidPathException: Malform ...

  2. RocketMQ多Master多Slave模式部署

    每个 Master 配置一个 Slave,有多对Master-Slave,HA采用同步双写方式,主备都写成功,向应用返回成功. 优点:数据与服务都无单点,Master宕机情况下,消息无延迟,服务可用性 ...

  3. redis配置master-slave模式

    由于云服务器存在闪断现象,项目线上会存在基于redis的功能在闪断时段内出现异常,所以redis需要做master-slave模式.直接上代码: 原单机redis,RedisConnectionFac ...

  4. 适合MySQL master/slave模式的JDBC driver: lbpool

    去年写了篇MySQL分表实现上百万上千万记录分布存储的批量查询设计模式的文章,思路是基于MySQL手动分表的.缺点是增加了程序的复杂性.现在有一个更简单和方便的现成的产品了,那就是lbpool lbp ...

  5. [ci]jenkins server启动,通过jnlp的方式启动slave(容器模式)

    jenkins server启动,通过jnlp的方式启动slave. java -jar jenkins.jar 配置jnlp端口--全局安全 配置云 配置项目 执行成功 转载于:https://ww ...

  6. 【嵌入式】Libmodbus之RTU模式Master端程序示例

    00. 目录 文章目录 00. 目录 01. 软件开发流程 02. 获取版本信息 03. 读写单个线圈程序示例 04. 读写多个线圈程序示例 05. 读写单个保持寄存器程序示例 06. 读写多个保持寄 ...

  7. slave同步master数据偏移量错误

    一.背景 master broker.log中出现如下日志: 2019-12-03 17:42:06 INFO BrokerControllerScheduledThread1 - Slave fal ...

  8. 【嵌入式】Libmodbus之TCP模式Master端程序示例

    00. 目录 文章目录 00. 目录 01. TCP模式Master开发流程 02. 读写单个线圈程序示例 03. 读写多个线圈程序示例 04. 读写单个保持寄存器程序示例 05. 读写多个保持寄存器 ...

  9. Puppet基于Master/Agent模式实现LNMP平台部署

    前言 随着IT行业的迅猛发展,传统的运维方式靠大量人力比较吃力,运维人员面对日益增长的服务器和运维工作,不得不把很多重复的.繁琐的工作利用自动化处理.前期我们介绍了运维自动化工具ansible的简单应 ...

  10. JMETER SLAVE和MASTER 分布式启动压测

    1.Master 启动jmeter.bat 编写脚本 2.启动 运行 slave 和 master 分布式进行压测的计算公式如下: 聚合报告中间的样本数量=线程数*循环次数*agent(机器台数)=1 ...

最新文章

  1. NoticeView
  2. Linux下VS Code中C/C++开发环境的includePath设置
  3. Mysql中(@i:=@i+1)的作用
  4. URL参数解析与反解析
  5. 以python入门教程新世界-国外旅行也不忘学习Python:Python 操作列表001
  6. [计算机网络 谢希仁] 第一章
  7. python spark视频_Spark2.x+Python大数据机器学习视频课程
  8. excel和python建模_利用Excel学习Python:准备篇
  9. Linux上 MongoDB 实现远程连接并设置账号密码
  10. Django实现微信消息推送
  11. linux 删除中文文件夹,Linux删除文件夹命令是什么
  12. 微信小程序组件解读和分析:十二、picker滚动选择器
  13. 多位大厂专家鼎力推荐,44个微服务架构设计模式pdf,程序员福利
  14. Android播放器框架分析之AwesomePlayer
  15. 如何将ts文件转为mp4格式
  16. 蜀门一直显示连接服务器,蜀门自身状态增加不召唤仙宠BUG玩法全解 利用的服务器自身...
  17. Android直播中弹幕效果实现
  18. 计算机科学技术标准,计算机科学技术基础知识之标准化和知识产权基础知识
  19. java 自幂数_java计算自幂数和水仙花数
  20. 设计模式04——Factory Method模式

热门文章

  1. 高位在前和低位在前区别_前、后级功放、合并功放区别是什么?
  2. 在更新查询中可以使用计算机功能,ACCESS试题1.doc
  3. POJ 2406题解kmp算法的应用
  4. react 使用rewired_使用react-app-rewired和customize-cra对默认webpack自定义配置
  5. keras分类器模型
  6. python机器学习-乳腺癌细胞挖掘(基于真实美国临床数据)
  7. Tests for normality正态分布检验(python代码实现)
  8. 福师计算机在线作业在每个w,16春季福师《计算机应用基础》在线作业二
  9. 银联的bankall_gmc银联接口开发demo
  10. TensorFlow基础:Graph与Variable