项目自动化发布与部署
来源:互联网 发布:python游戏开发源码 编辑:程序博客网 时间:2024/06/06 03:43
目前,部署的方式是:一个项目一台机器,使用3个tomcat部署的方式。
以往,是本地(windows)开发、打包然后上传的Linux服务器上,不太方便,所以,使用SVN+Shell的方式自动化部署项目。
主要思路:
在Linux服务器上通过svn clone一份源码。
当要新发布工程时,将本地的源码更新到svn,
服务器上的源码也执行更新操作即可。
先说明项目的部署文件夹:/xxx/tomcats/工程名。
该文件夹下有以下文件(夹)
其中,
1、2、3是3个tomcat实例。webapps是3个tomcat共用的发布war的文件夹。svn用于存放bingu工程源码。src不重要,可以无视。sh存放shell文件,目前包括两个,shutdown.sh:关闭所有的tomcat实例;startup.sh,启动所有的tomct实例。deploy.sh是自动化部署的关键。
deploy.sh内容如下:
cd ./svn/bingu/
echo "going to update project: bingu."
svn update
echo "svn update done."
echo "going to 'mvn package'."
mvn clean package -DportableConfig="src/main/portable/prod.xml"
echo "mvn package done."
echo "going to shutdown all the tomcats."
./../../sh/shutdown.sh
echo "tomcats have been shutdown."
echo "-------------------------------------------------"
echo "going to clean existing bingu.war & bingu folder from webapps."
rm ../../1/webapps/bingu* -r
rm ../../2/webapps/bingu* -r
rm ../../3/webapps/bingu* -r
echo "going to copy bingu.war to all webapps."
cp ./target/bingu.war ../../1/webapps/
cp ./target/bingu.war ../../2/webapps/
cp ./target/bingu.war ../../3/webapps/
echo "bingu.war copied to webapps."
echo "-------------------------------------------------"
echo "going to start all the tomcats"
./../../sh/startup.sh
echo "tomcats have been startup."
echo "You can visit the http://zcy.ckcest.cn/bingu/ now."
shutdown.sh(杀死所有的tomcat进程)内容如下:
ID=`ps -ef | grep java | grep tomcat|awk '{print $2}'`
echo $ID
echo "To kill all the tomcat processes:"
echo "##############################"
for id in $ID
do
kill -9 $id
echo "killed$id"
done
echo "#############################"
startup.sh(启动所有的tomct实例)内容如下:
/home/zheda/software/tomcats/bingu/1/bin/startup.sh -server -Xms 6144m -Xmx 6144m -XX:PermSize 2048m -XX:MaxPermSize 2048m
/home/zheda/software/tomcats/bingu/2/bin/startup.sh -server -Xms 6144m -Xmx 6144m -XX:PermSize 2048m -XX:MaxPermSize 2048m
/home/zheda/software/tomcats/bingu/3/bin/startup.sh -server -Xms 6144m -Xmx 6144m -XX:PermSize 2048m -XX:MaxPermSize 2048m
所以只需要执行./deploy.sh操作,即可完成自动部署;
- 项目自动化发布与部署
- 项目自动化发布与部署
- 自动化发布项目之jenkins + git + maven 自动化部署一个web项目
- Rundeck任务自动化发布系统部署与配置
- Jenkins项目自动化部署
- Docker与自动化部署
- Linux服务器端项目自动化发布
- Teamcity部署自动化测试项目
- Django项目部署 - 脚本自动化
- 自动化部署java web项目
- jenkins自动化部署github项目
- 自动化部署项目到服务器
- 想法:Github项目的持续构建、发布与部署
- odoo发布与部署
- 网络部署与发布
- Jenkins 自动化构建与部署
- Hudson之——Hudson的使用(使用 Hudson 来自动化编译、分析、打包、发布、部署项目)
- 项目发布部署的注意事项
- css3幻灯片换位效果
- 微信支付:向项目添加WeChatSDK步骤
- 解决在管理wordpress时权限不足的问题
- 关于objective—c如何让JPG文件转化成PDF形式
- python 2.7 + pip + Django 安装
- 项目自动化发布与部署
- require(),include(),require_once()和include_once()区别
- ios之点语法
- DB Cache Reloaded Fix缓存不能被激活解决方法
- PID教程
- Zend Studio / Ecliplse插件EasyExplorer,打开资源文件所在的文件夹
- 数据库笔记
- qml实现自定义标题栏按钮
- qml自定义标题栏