Jenkins

1实验架构: 2 3192.168.0.96 gitlab 4 5192.168.0.97 jenkins、tomcat 6 7192.168.0.98 harbor、docker集群、git、jdk、maven 81、先把单个jenkins做成可以部署到docker集群中。参照:https://www.cnblogs.com/effortsing/p/10468840.html 9 102192.168.0.98作为jenkins-slave节点进行试验,注意:192.168.0.98不需要安装jenkins,只通过master节点上添加node就可以搞定 112.1、 安装smart jenkins 插件,如图所示: 12 133、jenkins-slave节点上安装git、jdk、maven。 14 15git安装:用yum安装git后就不用管了 16 17jdk安装:安装包要解压到/usr/local下 18 19maven安装:安装包要解压到/usr/local下 20 21 224、配置jenkins-slave节点上的git拉取代码:添加ssh-key公钥到gitlab 23 24参照:https://www.cnblogs.com/effortsing/p/10012158.html 25 26 275192.168.0.97(jenkins主机)配置免密登录192.168.0.98主机 28 29 306、jenkins-slave主机配置免密登录自己,因为pipline脚本里面需要把容器部署到本机上 31 32 337、在jenkins主机上添加一个凭证(登录192.168.0.98的用户名密码:root/12334 35 368、在jenkins主机上找到系统管理---节点管理--新建新节点--名称(192.168.0.98);远程工作目录:/usr/local/;host:192.168.0.98,如下图: 37 38

19、给slave节点添加工具位置(maven、jdk),如下图: 2 3 410、slave正常状态如下图所示: 5 6 711、pipline脚本如下: 8 9node ("192.168.0.98") { 10 stage('git checkout'){ 11 echo 'git clone' 12 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']]]) 13 } 14 stage('maven build'){ 15 echo 'maven build' 16 sh ''' 17 export JAVA_HOME=/usr/local/jdk1.8.0_171/ 18 /usr/local/apache-maven-3.5.4/bin/mvn clean package -Dmaven.test.skip=true 19 ''' 20 } 21 22 stage('docker build and push images'){ 23echo 'docker build and push images' 24sh ''' 25REPOSITORY=192.168.0.98:5000/library/solo/solo:${Tag} 26cat >Dockerfile<<EOF 27FROM 192.168.0.98:5000/library/tomcat-85:latest 28RUN rm -rf /usr/local/tomcat/webapps/ROOT/ 29COPY target/*.war /usr/local/tomcat/webapps/ROOT.war 30WORKDIR /usr/local/tomcat 31EXPOSE 8080 32CMD ["./bin/catalina.sh", "run"] 33EOF 34docker build -t $REPOSITORY . 35docker login -u admin -p Harbor12345 192.168.0.98:5000 36docker push $REPOSITORY 37''' 38 } 39 40 stage('deploy'){ 41echo 'deploy' 42sh ''' 43REPOSITORY=192.168.0.98:5000/library/solo/solo:${Tag} 44cat >deploy.sh<<EOF 45#!/bin/bash 46ssh root@192.168.0.98 'docker container run -d --name blog-solo-2 -v /opt:/opt -p 89:8080 $REPOSITORY' 47EOF 48chmod +x deploy.sh 49sh deploy.sh 50''' 51 } 52} 53 54 5512、开始构建如下图所示: 56 57 5813、构建成功入下图:

参照文档:http://www.cnblogs.com/zndxall/p/8297356.html
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

Jenkins - HelloWorld