热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

使用docker-v和PublishoverSSH插件实现war包自动部署到docker的操作步骤

这篇文章主要介绍了利用docker-v和PublishoverSSH插件实现war包自动部署到docker的操作步骤,非常不错,具有参考借鉴价值,需要的朋友可以参考下

上篇文章在docker容器挂载宿主主机目录 中介绍了运行docker时的一个重要命令 -v

sudo docker run -p 8822:8080 --name tomcat_xiao_volume -v /home/xiaochangwei/test:/usr/local/tomcat/webapps xiaochangwei/tomcat:v1

将容器内部目录和宿主主机目录进行关联,这样操作宿主主机关联目录时,就会同步关联操作了容器对应目录,

这在发布war包时尤其有用, 容器启动后就无需再关心了,只需要将需要更新的war包拷贝到关联的目录就可以了

本篇文章就是为了简化拷贝工作

docker利用WebHook实现持续集成 中实现了git提交代码触发jenkins自动打包并部署到远程tomcat中,这里讲怎么部署到docker中 

首先已经得到war包了,下面要做的就是怎么把war包拷贝到docker容器关联的宿主主机对应目录

jenkins提供了插件Publish over SSH  官方介绍https://wiki.jenkins.io/display/JENKINS/Publish+Over+SSH+Plugin 

操作步骤:

  1.安装插件 Publish over SSH

  2.在系统管理-系统设置最后设置ssh server信息 如下:

    

    解释下:

      Passphrase   : 主机的登录密码

      Hostname   : 主机的地址

      Username   :主机的登录账号

      Remote Directory:根路径 (注意后续的路径都是相对这个路径来操作的,最好设置为 /)  

    配置好后,点击测试配置,显示成功后保存关闭

  3. 在具体项目中勾选 Send files or execute commands over SSH after the build runs 并配置如下

    

    解释下参数:

    Name    : 就是上一步配置的server名字,下拉选择

    source File  :就是war包路径  jenkins打包后再target目录下

    prefix    : 就是war包路径的前缀,去掉前缀后就是war包了

    Remote directory: 需要放到远程服务器的目录,

      需要注意的是,这里是相对于第二步中Remote Directory的路径, 比如第2步我设置的是/root  如果这里我这只为 /package  那么对应的目标路径就是/root/packages

      这里问了更好的区分,我使用了时间戳,这就需要勾选上 Remote directory is a date format,并且非时间格式的地方都需要用引号包含起来

      比如我这里设置的是 '/packages/'yyyyMMddHHmmss-${BUILD_NUMBER}   最后的${BUILD_NUMBER}是jenkins变量,就是打包次数,和last buid对应

    Exec command: 是需要执行的命令,可以设置任何linx可以执行的命令或者shell脚本

    设置好后保存,打包测试:

    

    根据控制台输出,可以看出设置的shell命令也执行了,而且提示文件也上传到配置的服务器上了(后的137错误是因为我的阿里云服务器内存太小,自动部署到tomcat上失败了,这个与本次讲的无关,请忽略)

    注意此次打包号为 #27

    到服务器上对应目录看下上传情况

    

    证明war包已经上传到了对应的目录了 

    这样 就可以设置对应的目录和docker容器关联后,实现war包的自动更新发布和备份了,这里加了时间戳适合于备份,单纯的发布就不要加时间戳了

总结

以上所述是小编给大家介绍的使用docker -v 和 Publish over SSH插件实现war包自动部署到docker的操作步骤,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


推荐阅读
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • 科研单位信息系统中的DevOps实践与优化
    本文探讨了某科研单位通过引入云原生平台实现DevOps开发和运维一体化,显著提升了项目交付效率和产品质量。详细介绍了如何在实际项目中应用DevOps理念,解决了传统开发模式下的诸多痛点。 ... [详细]
  • docker镜像重启_docker怎么启动镜像dock ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • 从零开始构建完整手机站:Vue CLI 3 实战指南(第一部分)
    本系列教程将引导您使用 Vue CLI 3 构建一个功能齐全的移动应用。我们将深入探讨项目中涉及的每一个知识点,并确保这些内容与实际工作中的需求紧密结合。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 深入解析Serverless架构模式
    本文将详细介绍Serverless架构模式的核心概念、工作原理及其优势。通过对比传统架构,探讨Serverless如何简化应用开发与运维流程,并介绍当前主流的Serverless平台。 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 本文探讨了在Linux系统上使用Docker时,通过volume将主机上的HTML5文件挂载到容器内部指定目录时遇到的403错误,并提供了解决方案和详细的操作步骤。 ... [详细]
  • 云计算的优势与应用场景
    本文详细探讨了云计算为企业和个人带来的多种优势,包括成本节约、安全性提升、灵活性增强等。同时介绍了云计算的五大核心特点,并结合实际案例进行分析。 ... [详细]
  • 简化报表生成:EasyReport工具的全面解析
    本文详细介绍了EasyReport,一个易于使用的开源Web报表工具。该工具支持Hadoop、HBase及多种关系型数据库,能够将SQL查询结果转换为HTML表格,并提供Excel导出、图表显示和表头冻结等功能。 ... [详细]
  • 本文探讨了如何通过一系列技术手段提升Spring Boot项目的并发处理能力,解决生产环境中因慢请求导致的系统性能下降问题。 ... [详细]
  • 本文将详细介绍通过CAS(Central Authentication Service)实现单点登录的原理和步骤。CAS由耶鲁大学开发,旨在为多应用系统提供统一的身份认证服务。文中不仅涵盖了CAS的基本架构,还提供了具体的配置实例,帮助读者更好地理解和应用这一技术。 ... [详细]
  • Eclipse 中 JSP 开发环境配置指南
    本文详细介绍了如何在 Eclipse 集成开发环境中配置 JSP 运行环境,包括必要的软件下载、Tomcat 服务器的配置以及常见问题的解决方法。 ... [详细]
author-avatar
禹拇誓
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有