一. 项目配置
=================================================================================================
项目名称:根据情况填写
项目环境:测试环境,预发布环境,线上环境
地址:填写代码检出的地址,可以是gitlab或是github或是svn等,如果是git,格式必须是ssh-url
宿主机:运行Walle的机器
代码检出仓库:/data/www/deploy/from 注:必须在linux服务器上新建此目录,walle会从git上拉代码到此路径
排除文件:.git/.svn/README.md等不需上线的文件
=================================================================================================
目标机器:需要部署项目的机器
用户:目标机器部署用户,一般填root,因为权限最大
webroot:/opt/tomcat-9080_walle/webapps/tarot_test 注:tomcat的webapps下项目打的包的名称,“tarot_test”不能有这个路径,Walle会帮你新建
发布版本库:每次发布版本的存放路径,每次发布的时候会软链接到相应的版本路径
版本保留数:版本数
机器列表:部署到哪个机器上,一般是IP地址,非22端口的则IP:端口
=================================================================================================
高级任务:填写一些发布前预准备的操作和发布需要的命令
pre_deploy:暂时没有用到
post_deploy: 一些maven打包,将获取git更新的文件,拷贝到版本库中,如有多条,一行一行写,可以在每行中间打印语句,来检查是否执行到了
pre_release:给运行walle的用户(如下图用户名是walle)部署的路径的权限,具体地址看具体情况
post_release:执行tomcat停止和重启命令,一般写成脚本,如下图
=================================================================================================
以上信息全部填好之后,点击提交
二. 项目检测以及排除问题使检测通过
宿主机代码检出检测出错,请确认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列表 添加完之后,用user来git clone项目源码,拉下来之后则可以通过此错误 |
目标机器部署出错,请确认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
需要local_user 添加目标机器root用户的免密码登录
问题:{remote_user}有目标机器发布版本库{path}写入权限
su remote_user ll {path} chown {remote_user} -R {path} chmod 755 -R {path}
三. 创建上线单,部署
点击我的上线单
点击创建上线单
选择自己创建的项目
- 填写上线单标题
- 选取分支
- 版本选取:选择相应的git记录
- 全量/增量:java项目只能用全量
- 点击提交
点击提交上线
点击部署
部署过程中,如果错误了,下方会有提示,不过最好打开日志查看,日志路径在/tmp/walle下,如果没有此路径,新建一个
部署需要注意的: 在walle部署前,先杀掉需要部署的tomcat的进程,再点击部署