摘要:发起部署时,为该上线单开辟一个独立空间,检出代码,选择上线单中的文件可能带版本号同步到目标机群。
GIT配置安装
git 项目配置指南
git部署是最推荐的方式,它无论对于何种语言都是合适的。
一、基本要求:
宿主机php进程用户www_php(假如,可通过配置的检测查看或ps aux|grep php)的ssh-key要加入git/gitlab的deploy-keys。当然也可以http地址带用户名密码(不推荐):https://username:password@github.com/meolu/walle-web.git
宿主机php进程用户www_php(假如,可通过配置的检测查看或ps aux|grep php)要加入目标机群部署用户www_remote(配置中)ssh-key信任,具体怎么添加可找sa或者百度或者,这一般是用户最不理解的地方,建议先花半小时理解linux用户概念和php配置。
二、配置项目
png](/img/bV0vgb)
三、检测项目配置
配置完毕之后,先检测下,如无问题则可以发起上线单了:)
四、检测的错误和解决办法
宿主机代码检出检测出错,请确认php进程用户{user}有代码存储仓库{path}读写权限,且把ssh-key加入git的deploy-keys列表。详细错误:{error}
问题:请确认php进程用户{user}有代码存储仓库{path}读写权限 没有权限,是因为用户{user}对目录{path}没有读写权限,给权限即可 ll {path} chown {user} -R {path} chmod 755 -R {path} 问题:把ssh-key加入git的deploy-keys列表 su {user} && cat ~/.ssh/id_rsa.pub 打开 github/gitlab/bitbucket 网站, 添加 ssh-key 到ssh-keys列表
目标机器部署出错,请确认php进程{local_user}用户ssh-key加入目标机器的{remote_user}用户ssh-key信任列表,且{remote_user}有目标机器发布版本库{path}写入权限。详细错误:{error}
问题:请确认php进程{local_user}用户ssh-key加入目标机器的{remote_user}用户ssh-key信任列表 添加机器信任,还是没理解请百度吧(因为太多的同学问这问题,实在没办法只能这么啰嗦) su {local_user} && ssh-copy-id -i ~/.ssh/id_rsa.pub remote_user@remote_server # need remote_user"s password 问题:{remote_user}有目标机器发布版本库{path}写入权限 su remote_user ll {path} chown {remote_user} -R {path} chmod 755 -R {path}SVN配置
svn 项目配置
svn部署上线与git有点不太一样,svn是推荐增量发布(当然也可以全量更新),在开发者提交文件列表(可能带版本号),管理员审核上线单。发起部署时,为该上线单开辟一个独立空间,检出代码,选择上线单中的文件(可能带版本号)同步到目标机群。有不了解宿主机和目标机群关系、上线流程的同学先到项目主页了解。
因为svn没有git的版本快照,所以在部署需要全量代码编译操作时,只能选择全量更新,此时要求发布的分支/tag/trunk是可发布状态。建议java + git组合。同理其它需要全量代码在宿主机做编译相关的操作的语言,且为svn版本管理,请慎用。
一、基本要求:
svn目录推荐以下规范,详细可以注册riouxsvn,作为svn测试地址。当然三无(无trunk、无branches、无tags)也是支持:) branches tags trunk 宿主机php进程用户www_php(假如,可通过配置的检测查看或ps aux|grep php)要加入目标机群部署用户www_remote(配置中)ssh-key信任,具体怎么添加可找sa或者百度或者,这一般是用户最不理解的地方,建议先花半小时理解linux用户概念和php配置。
其他跟GIT一致
高级任务方便用户自定义一些操作,无论是在代码检出前后,还是切换版本前后。
一、java配置实例
pre_deploy任务
echo pre_deploy >> /tmp/cmd # 初始化一些东西,自由发挥
post_deploy任务
mvn package -Dmaven.test.skip=true # 编译java
mvn clean # 打扫
mv WEB-INF/config.Properties.test WEB-INF/config.Properties # 切换环境相应的配置
rm -rf src # 甚至删除无用代码
pre_release任务
./xx.sh stop # 暂停服务
post_release任务
./xx.sh start # 启动服务
二、如果我想执行sudo命令?
想执行sudo命令的前提是用户有root权限,要执行哪些命令?
添加用户到sudoers visudo www ALL=(ALL) ALL 添加免密码命令 visudo www ALL = (ALL) NOPASSWD: /usr/local/nginx/bin/nginx 设置用户的tty(宿主机执行sudo需要此步,目标机可以跳过此步) Defaults:www !requiretty项目用户配置
角色分为管理员(注册可选)、开发者(注册可选)、项目审核管理员(前面二者均可是)。
1.管理员
注册时,选择角色为管理员,注册后邮件验证,但此时也不是立刻拥有管理员权限,需要其它管理员审核通过才行。
管理员的权限列表
配置新的项目、修改自己的项目配置 审核新管理员 设置项目的成员、项目审核管理员 审核上线单 上线
2.项目审核管理员
注册时无此用户角色,为管理员为减轻自己审核上线单压力、防止管理员不在线而影响上线而需要一两个代理审核管理员。但不能编辑项目配置,也不能添加项目成员,只比开发者多一个审核上线单的权限。
管理员的权限列表
审核上线单 上线
3.开发者
普通开发者可提交上线单,上线部署
管理员的权限列表
上线
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/39718.html
摘要:瓦力是一个支持多用户多项目多环境同时部署的上线部署系统。详见项目,或花满树官方说明,如果喜欢欢迎标,支持我们把瓦力做强大。详情项目官网主页文档手册更新介绍瓦力自动化部署工具 showImg(https://segmentfault.com/img/bVrjiG); Walle - 瓦力 是一个支持svn、git、多用户、多项目、多环境同时部署的上线部署系统。 github项目 wall...
摘要:项目地址瓦力,上线开源两个月,目前已支持超过十家企业线上部署使用,每周更新一个版本,持续带来新特性。支持开放接口支持第三方了解更多项目地址瓦力,官方主页瓦力。 1 Git Flow 一般而言,软件开发模型有常见的瀑布模型、迭代开发模型、以及最近出现的敏捷开发模型等不同的模型。每种模型有各自应用场景,Git Flow是构建在Git之上的一个组织软件开发活动的模型,Git Flow重点解...
摘要:瓦力介绍一个部署系统工具,配置简单功能完善界面流畅开箱即用支持版本管理,支持各种代码发布,,,等代码的发布回滚,可以通过来一键完成。 瓦力介绍 Walle 一个web部署系统工具,配置简单、功能完善、界面流畅、开箱即用!支持git、svn版本管理,支持各种web代码发布,PHP,Python,JAVA等代码的发布、回滚,可以通过web来一键完成。 功能列表 用户分身份注册、登录 开发者...
摘要:瓦力介绍一个部署系统工具,配置简单功能完善界面流畅开箱即用支持版本管理,支持各种代码发布,,,等代码的发布回滚,可以通过来一键完成。 瓦力介绍 Walle 一个web部署系统工具,配置简单、功能完善、界面流畅、开箱即用!支持git、svn版本管理,支持各种web代码发布,PHP,Python,JAVA等代码的发布、回滚,可以通过web来一键完成。 功能列表 用户分身份注册、登录 开发者...
阅读 2520·2021-11-24 10:20
阅读 2357·2021-09-10 10:51
阅读 3351·2021-09-06 15:02
阅读 3077·2019-08-30 15:55
阅读 2820·2019-08-29 18:34
阅读 3035·2019-08-29 12:14
阅读 1178·2019-08-26 13:53
阅读 2888·2019-08-26 13:43