Tips:如何编写一个替代JENKINS的自动发布批处理脚本


开发环境:

   Spring Boot框架的J2EE工程;

  配置管理工具:SVN;

  构建打包工具:MAVEN;

步骤:

1、svn的命令行

  首先在安装svn的时候要记得将svn客户端的功能安装上去,那么安装好后即可在命令行下执行svn命令;

svn checkout https://svn.server.path/project_path  D:\project_path

通过checkout命令将工程的最新版本下载到本地。

2、执行maven命令

  首先需要安装独立的maven软件,并将资源库指向eclipse所用的资源库;

然后配置maven的环境变量MAVEN_HOME,然后将%MAVEN_HOME%\bin\加入到path中;

通过maven命令行编译和打包工程:

call mvn clean install -e -U -DskipTests

其中clean 和install 分别是mvn的执行目标,即先清理工程,然后重新打包发布到资源库,-e表示有异常打印错误堆栈,-U表示强制更新依赖;

call 命令是批处理的命令,通过call命令执行mvn,这样mvn返回时不会退出整个批处理。

注意:如果工程依赖于其他基础工程,则基础工程要先打包发布。

3、将打包好的jar文件上传到linux服务器;

  通过win10默认提供的ssh工具,访问linux服务器的ssh服务,通过scp命令上传文件;

scp d:\project_path|target\proj.jar user@192.168.100.10:/home/product/project_path/proj.jar

将本地的jar文件复制到服务器上的对应路径,其中user为scp的访问用户,192.168.100.10为服务器的ip;

 

 4、执行服务器命令,重启服务;

  通过ssh命令远程执行linux服务器命令,多个命令可以通过 ; 进行分隔。

ssh user@192.168.100.10  "cd ~/project_path ; ./restart.sh proj.jar &"

 

注意:当直接使用ssh访问服务器时,需要通过交互的方式输入访问用户和密码,这样就无法做到脚本的自动执行,所以需要实现ssh免登录的功能,请参考:

Tips:ssh实现免密码的登录

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM