GIT配置安装git项目配置指南git部署是最推荐的方式,它适用于任何语言。1、基本要求:在git/gitlab的deploy-keys中必须添加宿主php进程用户www_php的ssh-key(如果可以通过配置检测或者psaux|grepphp查看)。当然你也可以使用带用户名和密码的http地址(不推荐):https://username:password@github.com/meolu/walle-web.githostphpprocessuserwww_php(如果能查到配置检测或者psaux|grepphp)加入目标集群部署用户www_remote(在配置中)ssh-keytrust,如何添加可以在sa或者百度或者百度中找到,这个一般是用户最不了解的,就是建议花半个小时了解linux用户和php配置的概念。2.配置项png](/img/bV0vgb)3.检测项目配置完成后,先勾选。如果没有问题,就可以发起在线下单了:)4.检测错误及解决方法HostcodedetectiondetectionAnerroroccurred.请确认php进程用户{user}对代码存储仓库{path}有读写权限,并将ssh-key添加到git的deploy-keys列表中。详细错误:{error}问题:请确认php进程用户{user}对代码存储仓库{path}有读写权限,没有权限,因为用户{user}没有读写权限目录{path}的权限,只需授予权限ll{path}chown{user}-R{path}chmod755-R{path}问题:将ssh-key添加到git的部署密钥列表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.pubremote_user@remote_server#需要remote_user的密码问题:{remote_user}有目标机发布版本库{path}写权限suremote_userll{path}chown{remote_user}-R{path}chmod755-R{path}SVN配置svn项目配置svn部署和git有点区别,svn建议增量发布(当然也可以Fullupdate),在开发者提交的文件列表中(可能带有版本号),管理员审核在线列表。启动部署时,为在线列表开辟独立空间,检出代码,选择在线列表中的文件(可能带有版本号)同步到目标集群。不了解宿主机和目标集群关系,以及上线流程的同学先去项目主页了解一下。因为svn没有git版本快照,当部署需要全量代码编译时,只能选择全量更新。此时需要释放的branch/tag/trunk处于可释放状态。建议java+git组合。同理,其他需要全代码才能在宿主机上进行编译相关操作,且由svn版本管理的语言,请慎用。1、基本要求:svn目录推荐如下规范。具体可以注册riouxsvn作为svn测试地址。当然也支持三种nos(notrunk,nobranches,notags):)branchestagstrunkhostphpprocessuserwww_php(if,可以通过配置检测或者psaux|grepphp查看)加入目标集群deploymentuserwww_remote(Configuration)ssh-keytrust,如何添加可以在sa或者百度或者,这个一般用户最不了解的,建议花半个小时了解下linux用户和php的概念配置。其他与GIT高级任务配置一致的高级任务,方便用户自定义一些操作,无论是代码检出前后,还是版本切换前后。1.Java配置示例pre_deploytaskechopre_deploy>>/tmp/cmd#初始化一些东西,自由发挥post_deploy任务mvnpackage-Dmaven.test.skip=true#编译javamvnclean#清理mvWEB-INF/config.Properties.testWEB-INF/config.Properties#切换相应的环境配置rm-rfsrc#甚至删除无用代码pre_releasetask./xx.shstop#暂停服务post_releasetask./xx.shstart#启动服务2.如果我要执行sudo命令呢?执行sudo命令的前提是用户有root权限。应该执行什么命令?添加用户到sudoersvisudowwwALL=(ALL)ALL添加免密码命令visudowwwALL=(ALL)NOPASSWD:/usr/local/nginx/bin/nginx设置用户的tty(主机执行sudo需要这一步,而目标机可以跳过这一步)Defaults:www!requiretty项目用户配置角色分为管理员(注册可选)、开发人员(注册可选)、项目审核管理员(都可以使用)。1、管理员注册时,选择角色为管理员,注册后验证邮箱。不过此时,它并没有立即拥有管理员权限,需要其他管理员的认可。管理员权限列表配置新项目,修改自己的项目配置,审核新管理员,设置项目成员,项目审核管理员审核在线订单,上线2.项目审核管理员注册时没有该用户角色。需要一到两个代理人亲自审核线上订单,防止管理员下线影响线上。但是不能编辑项目配置,也不能添加项目成员。你只比开发者多一个查看在线列表的权限。管理员权限列表审核上线3.开发者普通开发者可以提交上线列表,上线部署管理员权限列表上线
