假设我们的项目在本地 /www/demo-project
下,那么我们切换到该目录:
$ cd /www/demo-project
然后执行 Deployer 的初始化命令:
$ dep init
它会让你选择项目类型,比如 Laravel,symfony 等,如果你都不是,选择 common 类型即可。
这一步操作将会在当前目录生成一个 deploy.php
文件,这个文件就是部署清单,也就是告诉 Deployer 怎样去部署你的项目,关于这部分我们不需要过多的介绍,大家去参考 Deployer 官网的详细说明操作即可。
需要关心的几个配置是:
// 指定你的代码所在的服务器 SSH 地址,请不要使用 https 方式哦。 set('repository', 'git@mygitserver.com:overtrue/demo-project.git'); // 这里填写目标服务器的 IP 或者域名 host('your_server_ip') ->user('deployer') // 这里填写 deployer // 并指定公钥的位置 ->identityFile('~/.ssh/deployerkey') // 指定项目部署到服务器上的哪个目录 ->set('deploy_path', '/var/www/demo-app');
正确填写完配置清单以后,我们就可以部署我们的项目了,确认你的代码已经提交到代码仓库,因为执行部署的时候并不是将当前代码部署到服务器,而是从代码库拉最新的版本。
然后在当前目录执行:
$ dep deploy -vvv
就可以看到整个部署过程了,一般正常会是像下面这样子:
$ dep deploy -vvv Deployer's output ✈︎ Deploying master on your_server_ip ✔ Executing task deploy:prepare ✔ Executing task deploy:lock ✔ Executing task deploy:release ➤ Executing task deploy:update_code ✔ Ok ✔ Executing task deploy:shared ✔ Executing task deploy:vendors ✔ Executing task deploy:writable ✔ Executing task artisan:storage:link ✔ Executing task artisan:view:clear ✔ Executing task artisan:cache:clear ✔ Executing task artisan:config:cache ✔ Executing task artisan:optimize ✔ Executing task deploy:symlink ✔ Executing task deploy:unlock ✔ Executing task cleanup Successfully deployed!
如果失败的话就需要检查一下哪一步出错了,通常根据报错信息即可定位。