jenkins--master/slave模式---master是容器版---slave是非容器版
实验架构: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是非容器版相关推荐
- jenkins slave在master显示和运行问题
jenkins slave在master显示和运行问题 1.工作空间的中文文件显示乱码 2.运行一些插件报错如下 java.nio.file.InvalidPathException: Malform ...
- RocketMQ多Master多Slave模式部署
每个 Master 配置一个 Slave,有多对Master-Slave,HA采用同步双写方式,主备都写成功,向应用返回成功. 优点:数据与服务都无单点,Master宕机情况下,消息无延迟,服务可用性 ...
- redis配置master-slave模式
由于云服务器存在闪断现象,项目线上会存在基于redis的功能在闪断时段内出现异常,所以redis需要做master-slave模式.直接上代码: 原单机redis,RedisConnectionFac ...
- 适合MySQL master/slave模式的JDBC driver: lbpool
去年写了篇MySQL分表实现上百万上千万记录分布存储的批量查询设计模式的文章,思路是基于MySQL手动分表的.缺点是增加了程序的复杂性.现在有一个更简单和方便的现成的产品了,那就是lbpool lbp ...
- [ci]jenkins server启动,通过jnlp的方式启动slave(容器模式)
jenkins server启动,通过jnlp的方式启动slave. java -jar jenkins.jar 配置jnlp端口--全局安全 配置云 配置项目 执行成功 转载于:https://ww ...
- 【嵌入式】Libmodbus之RTU模式Master端程序示例
00. 目录 文章目录 00. 目录 01. 软件开发流程 02. 获取版本信息 03. 读写单个线圈程序示例 04. 读写多个线圈程序示例 05. 读写单个保持寄存器程序示例 06. 读写多个保持寄 ...
- slave同步master数据偏移量错误
一.背景 master broker.log中出现如下日志: 2019-12-03 17:42:06 INFO BrokerControllerScheduledThread1 - Slave fal ...
- 【嵌入式】Libmodbus之TCP模式Master端程序示例
00. 目录 文章目录 00. 目录 01. TCP模式Master开发流程 02. 读写单个线圈程序示例 03. 读写多个线圈程序示例 04. 读写单个保持寄存器程序示例 05. 读写多个保持寄存器 ...
- Puppet基于Master/Agent模式实现LNMP平台部署
前言 随着IT行业的迅猛发展,传统的运维方式靠大量人力比较吃力,运维人员面对日益增长的服务器和运维工作,不得不把很多重复的.繁琐的工作利用自动化处理.前期我们介绍了运维自动化工具ansible的简单应 ...
- JMETER SLAVE和MASTER 分布式启动压测
1.Master 启动jmeter.bat 编写脚本 2.启动 运行 slave 和 master 分布式进行压测的计算公式如下: 聚合报告中间的样本数量=线程数*循环次数*agent(机器台数)=1 ...
最新文章
- NoticeView
- Linux下VS Code中C/C++开发环境的includePath设置
- Mysql中(@i:=@i+1)的作用
- URL参数解析与反解析
- 以python入门教程新世界-国外旅行也不忘学习Python:Python 操作列表001
- [计算机网络 谢希仁] 第一章
- python spark视频_Spark2.x+Python大数据机器学习视频课程
- excel和python建模_利用Excel学习Python:准备篇
- Linux上 MongoDB 实现远程连接并设置账号密码
- Django实现微信消息推送
- linux 删除中文文件夹,Linux删除文件夹命令是什么
- 微信小程序组件解读和分析:十二、picker滚动选择器
- 多位大厂专家鼎力推荐,44个微服务架构设计模式pdf,程序员福利
- Android播放器框架分析之AwesomePlayer
- 如何将ts文件转为mp4格式
- 蜀门一直显示连接服务器,蜀门自身状态增加不召唤仙宠BUG玩法全解 利用的服务器自身...
- Android直播中弹幕效果实现
- 计算机科学技术标准,计算机科学技术基础知识之标准化和知识产权基础知识
- java 自幂数_java计算自幂数和水仙花数
- 设计模式04——Factory Method模式
热门文章
- 高位在前和低位在前区别_前、后级功放、合并功放区别是什么?
- 在更新查询中可以使用计算机功能,ACCESS试题1.doc
- POJ 2406题解kmp算法的应用
- react 使用rewired_使用react-app-rewired和customize-cra对默认webpack自定义配置
- keras分类器模型
- python机器学习-乳腺癌细胞挖掘(基于真实美国临床数据)
- Tests for normality正态分布检验(python代码实现)
- 福师计算机在线作业在每个w,16春季福师《计算机应用基础》在线作业二
- 银联的bankall_gmc银联接口开发demo
- TensorFlow基础:Graph与Variable