Deployer php自动部署,PHP自动化部署工具-Deployer

自动化部署的好处 减少重复工作 确保全部目标...

###自动化部署的好处

减少重复工作

确保全部目标环境代码完全一致

方便快速地进行弹性扩展

如果部署失败,可以快速回滚

###Deployer的特性

快速回滚

并行任务:Deployer可以在多台服务器之间同时进行部署,使得部署操作更加快速

一致性:当多台服务器同时部署时,如果有一台部署失败,则全部服务器都回滚,保证了目标环境的一致性

自动化:更新代码、执行migration、修改文件权限、设置软链接等操作无需手动执行

Recipes:Deployer有许多开发者贡献的部署脚本,如果场景符合,可以直接下载使用

###安装

curl -LO https://deployer.org/deployer.phar

mv deployer.phar /usr/local/bin/dep

chmod +x /usr/local/bin/dep

###使用

mkdir yourproject

cd yourproject

dep init

能看下如下效果

551f4113b84f0ee8614d7884ba686a61.png

可以看到,已经支持主流的框架了。这里我们做测试,就选择1好了。

###常用命令

dep init:脚本初始化

dep list:列出所有可执行命令

dep cleanup:清理旧版本

dep deploy:部署新版本

dep rollback:回滚

dep self-update:自更新

###Configure servers

方式一:

server('name', 'ip:port')

->user('user')

->password('password');

方式二:将服务器配置信息放到一个yml文件中,在deploy.php中引用server.yml文件

serverList('servers.yml');

beta:

host: ip1

user: user1

password: password1

test:

host: ip2

user: user2

password: password2

用方式二简单写了个上传到服务器以及列出服务器下 该目录下的文件夹

task('test', function () {

writeln('test...');

$appFiles = [

'app',

'artisan',

];

$deployPath = '/home/wwwroot/test';

// run("sudo ls");

foreach ($appFiles as $file)

{

upload($file, "{$deployPath}/{$file}");

}

cd($deployPath);

writeln(run("sudo ls"));

});

查看效果

8e99753b309f5928fec639b06655e759.png

ok,执行成功.

使用过程中出现的问题

56e3eb37e8803a5acd752ec58dc75a47.png

解决办法:

vi /etc/sudoers

注释掉 Default requiretty 一行

#Default requiretty

###常用方法

run(string $command)

cd(string $path)

runLocally(string $command, int $timeout = 60)

upload(string $file, string $uploadFile)

download(string $localFile, string $deploymentFile)

writeln(string $message)

ok,后面就自己玩啦

###参考链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,你的问题是 "deployer php"。我理解你想问的是关于 PHP 部署工具 Deployer 的问题。Deployer 是一个用 PHP 编写的开源部署工具,可以帮助你自动化部署 PHP 应用程序。你可以使用它来部署 Laravel、Symfony、Yii、CakePHPPHP 框架。 你可以在 Deployer 的官方网站上找到详细的文档和使用指南。在使用 Deployer 之前,你需要先安装它。你可以通过 Composer 安装 Deployer,具体步骤如下: 1. 打开终端或命令行窗口。 2. 进入你的 PHP 项目目录。 3. 运行以下命令安装 Deployer: ``` composer require deployer/deployer --dev ``` 安装完成后,你可以在项目根目录下创建一个 `deploy.php` 文件,然后在该文件中配置你的部署任务。例如,以下是一个简单的示例: ```php <?php namespace Deployer; require 'recipe/common.php'; // 配置服务器 server('production', 'example.com') ->user('deployer') ->identityFile('~/.ssh/deployerkey') ->set('deploy_path', '/var/www/myapp'); // 配置任务 task('deploy', function () { // 上传代码 upload(__DIR__ . '/src', '{{release_path}}/src'); // 安装依赖 run('cd {{release_path}} && composer install'); // 更新数据库 run('cd {{release_path}} && php artisan migrate'); }); // 配置钩子 after('deploy', 'success'); ``` 在上面的示例中,我们定义了一个名为 `production` 的服务器,并配置了部署路径和 SSH 认证方式。然后,我们定义了一个名为 `deploy` 的任务,该任务会上传代码、安装依赖和更新数据库。最后,我们定义了一个名为 `success` 的钩子,该钩子会在部署成功后执行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值