`

自动部署

 
阅读更多

    最近跟一个同事完成了项目的自动部署功能。

 

   一, 实现功能

     部署包括war包,数据库脚本和发邮件三个部分。

     war部署: 1),从SVN获取最新代码.

                    2), 自动打包.

                    3), 上传linux服务器.

                    4), 登录服务器,切换用户并部署war

                    5), 检查版本更新, 检查产品网站是否可以登录.

 

     数据库部署: 1), 更新数据库脚本

                         2), 获取更新文件

                         3), 连接服务器,执行脚本更新并记录日志

                         4), 查询,看是否有执行失败脚本. 有: 发邮件通知

    

  二, 使用工具

        1, Jenkins: 实现自动部署及邮件通知等功能

         2, bitbucket: 代码托管工具, 托管的是自动部署的脚本代码

         3, cygwin: 一个windows运行的liunx模拟器

 

   三, 实现遇到的问题

    1), 自动登录linux切换用户

        之前试过很多软件,不支持切换用户,之前都是手动登录服务器切换用户,执行部署脚本

     2), 自动验证部署成功

       验证成功不仅仅看网站是否能打开还要看tomcat的war是否是当前部署的时候,

       有时候tomcat虽然启动,但是产品还是之前的,虽然war是当前时间,没查为什么会这样

      3), 自动发邮件

       虽然jenkins 里面有自动发邮件功能,但是jenkins部署的服务器无法连接到我们公司的SMTP.

       折中在我们的产品服务器进行了邮件发送

 

   四, 总结

      1, 所以涉及到的sh代码, 存于网盘 darren/java/GXD/auto_deployment

      2, 了解了如何生成公私钥

           本地cd ->ssh-keygen.exe ->cd .ssh/  ->ssh jenkins@10.213.xx.xx -p 50001->cat id_rsa.pub

           在服务器cat authorized_keys, 可查看你添加的公钥

      3, 了解了一些linux命令 rsync, scp,curl

               rsync: 远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件

               scp: secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。  

               curl: 一个利用URL规则在命令行下工作的文件传输工具

 

 

 

分享到:
评论

相关推荐

    自动部署相关jar包

    在IT行业中,自动部署是提高效率和减少人为错误的关键步骤。本话题主要涉及两个核心技术:SSH2和WebSocket,以及它们如何被应用于自动化部署过程中。首先,我们来详细了解一下这两个技术。 SSH2(Secure Shell 2)...

    自动获取SVN代码并编译代码 以及自动部署方案

    标题和描述提到的"自动获取SVN代码并编译代码 以及自动部署方案"是一种高效的工作流,它整合了版本控制、编译和部署三个重要环节,使得开发团队能够快速响应变更,减少手动操作带来的错误。以下是关于这个主题的详细...

    idea自动部署前端到linux服务器

    Idea自动部署前端到Linux服务器 在前端开发中,自动部署到Linux服务器是一个常见的需求,为了满足这个需求, Idea 提供了插件 Alibaba Cloud Toolkit,可以帮助开发者快速部署前端到Linux服务器。下面是使用 Idea ...

    eclipse自动部署工具

    在IT行业中,自动部署是提高开发效率和保证项目持续集成的关键环节。Eclipse作为一个流行的Java开发集成环境,提供了丰富的插件支持,使得开发者能够轻松实现自动化部署。本篇将详细介绍如何利用...

    基于Jenkins+Gitlab+Docker实现SpringBoot项目自动部署

    基于Jenkins+Gitlab+Docker实现SpringBoot项目自动部署 本文主要介绍了基于Jenkins、Gitlab和Docker实现SpringBoot项目自动部署的方法。下面将从Jenkins的安装、配置到自动化构建和部署的整个过程进行详细说明。 ...

    java web 项目 自动部署

    Java Web项目的自动部署是开发流程中的重要一环,它能够极大地提高开发效率,减少手动部署的时间和出错可能性。在本项目中,我们利用Apache Tomcat服务器进行自动化部署,具体的步骤和关键知识点如下: 首先,我们...

    基于PXE的Linux并行机群快速自动部署与配置.pdf

    【基于PXE的Linux并行机群快速自动部署与配置】 Linux并行机群因其出色的扩展性、可定制性、稳定性和安全性,在大规模数值计算领域得到了广泛应用。在处理不同的任务时,机群需要频繁地更改系统配置和并行软件。...

    jdk1.8自动部署脚本(附jdk安装包)

    在IT行业中,自动部署是提高效率的关键步骤,尤其是在服务器管理和持续集成流程中。本文将详细介绍如何使用提供的"jdk1.8自动部署脚本"来快速、便捷地在您的系统上安装JDK 1.8。 首先,让我们了解JDK(Java ...

    北京致远OA系统H5化自动部署工具.zip

    【北京致远OA系统H5化自动部署工具】是一款专为北京致远OA系统设计的高效自动化工具,其核心目标是简化H5化的流程图部署过程。在企业信息化管理中,OA(Office Automation)系统扮演着至关重要的角色,它能够整合...

    jenkins shell 命令,自动部署命令.txt

    放在Post Steps 的shell命令 ,一键自动部署(2021最新版)

    2023年!使用acme为群晖NAS自动部署证书

    使用acme为群晖NAS自动部署证书 之前一直是用的阿里云的免费证书,只能单个域名申请,有效期一年。这样每年都需要进行证书更新,最近真的是头秃了。在查阅不少资料后,发现使用acme可以快速满足需求。 acme.sh是一...

    V5流程图H5化自动部署工具.zip

    "V5流程图H5化自动部署工具"是专门为致远OA系统设计的一款工具,其主要目的是将V5版本的流程图转化为H5格式,并实现自动化部署。这一工具的出现,极大地简化了企业对OA系统的维护和升级过程,同时提高了用户体验。 ...

    svn本地自动部署与远程部署web应用代码方案

    【标题解析】:“svn本地自动部署与远程部署web应用代码方案”这个标题表明了我们要讨论的是如何使用Subversion(简称svn)版本控制系统来实现web应用的自动部署,无论是本地还是远程环境。这通常涉及到版本控制策略...

    shipyard自动部署脚本

    Shipyard-deploy自动部署脚本,操作说明:sh shipyard-deploy 具体部署方法请参考:http://blog.51cto.com/zlyang/2052795

    Jenkins部署与项目自动部署.docx

    《Jenkins部署与项目自动部署详解》 Jenkins是一款开源的持续集成工具,常用于自动化各种任务,包括构建、测试和部署软件。本篇将详细阐述如何在Linux环境下部署Jenkins,并实现项目的自动部署。 首先,我们需要...

    Jenkins+ansible自动部署

    ### Jenkins+Ansible 自动部署的关键知识点 #### 一、自动部署原理概述 在现代软件开发流程中,持续集成(CI)与持续部署(CD)是提升开发效率、确保软件质量的重要环节。Jenkins 作为一款开源的 CI/CD 工具,能够...

    maven自动部署war包到tomcat.doc

    "Maven自动部署WAR包到Tomcat" Maven自动部署WAR包到Tomcat是将Maven项目打包成WAR包并自动部署到Tomcat服务器的过程。下面是该过程的详细步骤: 步骤一:配置Tomcat 在Tomcat安装目录下找到tomcat-users.xml文件...

Global site tag (gtag.js) - Google Analytics