Jenkins docker 一键发布 (二)
这一篇讲述,如何上传并启动 docker
一,下载 Publish Over SSH 插件
进入 Manager Jenkins -->Manager Plugins
搜索 publish over ssh 插件
(PS:如果报错,
java.net.SocketTimeoutException: connect timed out
那需要到 jenkins文件夹中,找到 hudson.model.UpdateCenter.xml 文件。
然后修改将 <url>https://updates.jenkins.io/update-center.json</url> 修改为 http)
二,配置SSH
在配置中,就能找到。
第一部分:
第二部分:
第三部分:
测试通过的话,应该就没问题了。
三,构建环境:
我们回到testpublish的配置页面
选中 Send files or execute commands over SSH before the build starts
在Exec command 中,我们停止容器,
并且删除了镜像和容器,然后倒入了父镜像
(由于我的mycentoscn.tar在docker目录下,所以需要cd docker)
代码如下:
docker-compose stop docker rm -f $(docker ps -aq) docker rmi -f $(docker images -aq) cd docker docker load -i mycentoscn.tar
四,构建
我们直接使用docker builder
这主要是一个maven打包和上传的过程。
代码如下:(每个docker:build都是一个微服务)
setlocal set "deploy_dir=%cd%" echo "%deploy_dir%" set "parent_dir=%cd%" echo "%parent_dir%" cd %deploy_dir% echo "maven compile starting" call mvn -f %parent_dir% clean install echo "maven compile completed" call mvn -f %parent_dir%/springCloud.registry docker:build call mvn -f %parent_dir%/springCloud.config docker:build call mvn -f %parent_dir%/springCloud.zuul docker:build call mvn -f %parent_dir%/kps.webUI docker:build call mvn -f %parent_dir%/kps.webAPICommon docker:build call mvn -f %parent_dir%/kps.webAPIPO docker:build call mvn -f %parent_dir%/kps.webAPISYS docker:build call mvn -f %parent_dir%/kps.webAPIWMS docker:build call mvn -f %parent_dir%/kps.webAPIEQ docker:build call mvn -f %parent_dir%/kps.appAPIScan docker:build call mvn -f %parent_dir%/kps.webAPIScreen docker:build echo "All Completed!"
五,构建后操作
选中 :Send build artifacts over SSH
上传完后,启动docker
由于启动时,会寻找docker-compose.yml文件,
所以也需要cd docker 目录
代码如下:
cd docker docker-compose up -d docker-compose ps
六,Build Now!
查看console
原文地址:https://www.cnblogs.com/hanjun0612/p/12108382.html
- JavaWeb(四)EL表达式
- eclipse SWT Designer 插件
- 身份证号码验证算法
- JS读书心得:《JavaScript框架设计》——第12章 异步处理
- 被解放的姜戈04 各取所需
- PLT:说说Evaluation strategy
- 被解放的姜戈06 假作真时
- idea 创建的maven+spring+mybatis项目整合 报错无法创建bean
- 代数几何:点,线,抛物线,圆,球,弧度和角度
- 被解放的姜戈05 黑面管家
- 用数据来告诉你2018年的未来趋势
- JavaWeb(三)JSP之3个指令、6个动作、9个内置对象和4大作用域
- 被解放的姜戈03 所谓伊人
- JS魔法堂: Native Promise Only源码剖析
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- linux实时文件事件监听--inotify
- MySQL事务原理&实战【官方精译】
- 俗话:MySQL索引
- 基于飞桨复现CVPR 2016 MCNN的过程解析:教你更精确估算人流密度
- mysql各种引擎对比、实战
- 接球小游戏玩腻了?换个姿势让PaddleX帮你吊打游戏系统
- mysql事务隔离级别详解和实战
- ELK+FileBeat+Kafka分布式系统搭建图文教程
- Flink CEP 原理和案例详解
- 实战开发,使用 Spring Session 与 Spring security 完成网站登录改造!!
- 分布式计算框架Gearman原理详解
- 【从0开始の全记录】Flume+Kafka+Spark+Spring Boot 统计网页访问量项目
- 系统级性能分析工具perf的介绍与使用[转]
- 深入理解排序算法
- 用nginx缓存静态文件