您的位置:首页 > 运维架构 > Linux

linux下实现自动从SVN拉代码,打包

2017-12-13 17:53 513 查看
安装maven,下载地址:https://pan.baidu.com/s/1slsRsAD

上传到服务器,解压:

unzip apache-maven-3.5.0.zip
创建maven仓库文件夹

mkdir mvn-repo
设置settings.xml

<localRepository>/home/admin/pkg/mvn-repo</localRepository>
配置maven环境变量

vi /etc/profile
export MAVEN_HOME=/home/admin/pkg/apache-maven-3.5.0
export PATH=${PATH}:${MAVEN_HOME}/bin
source /etc/profile
赋权限

chmod a+x /home/admin/pkg/apache-maven-3.5.0/bin/mvn


执行mvn -version,maven部署成功。

Maven home: /home/admin/pkg/apache-maven-3.5.0
Java version: 1.8.0_66, vendor: Oracle Corporation
Java home: /usr/java/jdk1.8.0_66/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-327.18.2.el7.x86_64", arch: "amd64", family: "unix"
安装svn

yum install subversion
创建svn项目目录,拉代码(执行svn co的时候,p,输入服务器密码,svn用户名、svn密码,yes)

mkdir usercore-svn
cd usercore-svn
svn co https://192.168.1.11/svn/fulihui-repo/fulihui/user-core/trunk/user-core[/code]进入svn拉下来的工程目录,创建package.sh 
mvn clean package -DskipTests -e
创建copylib.sh

mvn dependency:copy-dependencies -DoutputDirectory=target/lib -DincludeScope=runtime
赋权

chmod 777 *.sh
执行mvn clean install

此时已经实现了 在linux下自动拉代码和打包,我们用的是dubbo,在dubbo工程bin下创建update.sh

#删除maven仓库中公司的jar包
rm -rf /home/admin/pkg/mvn-repo/com/fulihui/*
#进入svn下载工程的目录
cd //home/admin/usercore-svn/user-core
#执行更新操作
svn up
#进入svn下载工程的service目录
cd //home/admin/usercore-svn/user-core/usercore-service
#执行打包和copy脚本
./package.sh && ./copylib.sh
#删除服务器部署工程的jar包
rm -rf /home/admin/micro-svr/usercore/lib/*
#把新打好的jar包copy到工程的lib下
cp /home/admin/usercore-svn/user-core/usercore-service/target/usercore-service.jar  /home/admin/micro-svr/usercore/lib
cp /home/admin/usercore-svn/user-core/usercore-service/target/lib/*  /home/admin/micro-svr/usercore/lib
执行update.sh 即可实现自动拉代码,打包,把打好的包copy到工程lib下,直接执行重启命令即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: