- 浏览: 830801 次
- 性别:
- 来自: 南京
文章分类
最新评论
-
xieye:
jetty插件有好几个版本,1.6,1.7,1.8
我选的是用 ...
tapestry入门(翻译)3 导入项目到eclipse -
xieye:
还有,
注:第2部分时,需要先安装jetty,我自己在安装过程 ...
tapestry入门(翻译)3 导入项目到eclipse -
xieye:
说明一下:实际使用中,导入时我并没有错误。2、我把eclips ...
tapestry入门(翻译)3 导入项目到eclipse -
xieye:
其实还是有一些先决条件的。1是外部环境,2是进步是阶段性的(意 ...
(转载文章)如何愉悦起来:一位精神治疗师的见解 -
mandy_yanzi:
我都已经饿7天了坚持为了我的衣衣
身体健康的问题
php部署代码可以使用
https://deployer.org/
这个工具。功能非常强大。
可以:
自动执行脚本,例如数据库更新。
可以自动composer更新。
可以 自动清除opcache的缓存,
还可以平滑重启laravel 的守护进程。
下面放个例子,供参考
假如想部署服务器A
则
dep deployer host1
假如想部署服务器A
则
dep deployer host2
假如想都部署
dep deployer host1 && dep deployer host2
整个部署过程一目了然,实在是居家旅行必备良药。
==========================
因为composer的原因,这里附带一个技巧。
composer.phar 和 composer符合链接,都必须放在/usr/bin目录下
因为deployer 会去找这个文件,如果没找到,每次拉库之前居然还要先远程安装
composer,耗费大量时间。
https://deployer.org/
这个工具。功能非常强大。
可以:
自动执行脚本,例如数据库更新。
可以自动composer更新。
可以 自动清除opcache的缓存,
还可以平滑重启laravel 的守护进程。
下面放个例子,供参考
<?php namespace Deployer; require 'recipe/laravel.php'; require 'recipe/cachetool.php'; // 说明,命令中的 dep deploy,就是这个task,这个task包括多个子任务。 task('deploy', [ 'deploy:info', 'deploy:prepare', 'deploy:lock', 'deploy:release', 'deploy:update_code', 'deploy:shared', 'deploy:vendors', 'deploy:writable', 'artisan:storage:link', 'artisan:view:cache', 'artisan:config:cache', 'artisan:optimize', // 'my:artisan:horizon:terminate',// 1127 'deploy:symlink', 'deploy:unlock', 'cleanup', ]); set('cachetool', '/tmp/php-cgi-72.sock'); // Project name, set('application', '项目名称'); // Project repository set('repository', 'git@XXXXX9/xxx.git'); // [Optional] Allocate tty for git clone. Default value is false. set('git_tty', true); // Shared files/dirs between deploys add('shared_files', []); add('shared_dirs', []); // Writable dirs by web server add('writable_dirs', []); set('envfile', '.env'); set('pemfile', 'private.pem'); set('http_user', 'www'); // Hosts // x关键是那个sudo。 task('my:artisan:horizon:terminate', function () { run('sudo {{bin/php}} {{release_path}}/artisan horizon:terminate'); }); // 服务器a host('host1.net') ->stage('host1') // ->user('deployer') ->identityFile('~/.ssh/id_rsa') ->set('deploy_path', '/www/wwwroot/host1') ->set('envfile', '.env.host1') ->set('branch', 'host1'); // 服务器b host('host2.net') ->stage('host2') ->user('deployer') ->identityFile('~/.ssh/id_rsa') ->set('deploy_path', '/www/wwwroot/host2') ->set('envfile', '.env.host2') ->set('branch', 'host2'); // Tasks // 定义一个上传 .env 文件的任务 desc('Upload .env file'); task('env:upload', function() { // 将本地的 .env 文件上传到代码目录的 .env upload(get('envfile'), '{{deploy_path}}/shared/.env'); }); desc('Upload pem file'); task('pem:upload', function() { // 将本地的 .env 文件上传到代码目录的 .env upload(get('pemfile'), '{{release_path}}/config/private.pem'); }); task('sey_hello', function() { // writeln('<info>Upload OK!</info>'); }); // 自己定义的清除opcache 缓存的工具 // 要求项目自身的composer.json里有 gordalina/cachetool task('my:cachetool:clear:opcache', function () { $releasePath = get('release_path'); $options = get('cachetool'); $fullOptions = get('cachetool_args'); if (strlen($fullOptions) > 0) { $options = "{$fullOptions}"; } elseif (strlen($options) > 0) { $options = "--fcgi={$options}"; } cd($releasePath); run("{{bin/php}} ./vendor/bin/cachetool opcache:reset {$options}"); }); // 定义一个后置钩子,在 deploy:shared 之后执行 env:upload 任务 after('deploy:shared', 'env:upload'); after('env:upload', 'pem:upload'); after('env:upload', 'sey_hello'); task('build', function () { run('cd {{release_path}} && build'); }); // [Optional] if deploy fails automatically unlock. after('deploy:failed', 'deploy:unlock'); // Migrate database before symlink new release. before('deploy:symlink', 'artisan:migrate'); // 新增。 after('deploy:symlink', 'my:cachetool:clear:opcache');
假如想部署服务器A
则
dep deployer host1
假如想部署服务器A
则
dep deployer host2
假如想都部署
dep deployer host1 && dep deployer host2
整个部署过程一目了然,实在是居家旅行必备良药。
==========================
因为composer的原因,这里附带一个技巧。
composer.phar 和 composer符合链接,都必须放在/usr/bin目录下
因为deployer 会去找这个文件,如果没找到,每次拉库之前居然还要先远程安装
composer,耗费大量时间。
发表评论
-
召唤神龙 - 安装 centos 8, php 8, mysql 8, laravel 8 的整套 php 运行环境
2020-11-27 16:26 673本文编写时间:2020-11-27 传说集齐龙珠可以召唤神 ... -
centos8 使用阿里镜像快速安装php7.4套件
2020-11-15 00:48 809centos8 使用阿里镜像快速安装php7.4套件 本文只 ... -
centos7 使用阿里镜像快速安装php7.4套件
2020-11-15 00:32 1218本文只考虑centos7 今日 2020-11-16 rem ... -
composer常用命令
2020-11-05 14:46 1437列出当前全局配置 composer config -l -g ... -
期待centos8+php8 + mysql8 + laravel8,8888
2020-10-29 19:24 486期待centos8+php8 + mysql8 目前主要使用 ... -
ubuntu 安装 php7.4以及各类插件
2020-10-24 13:20 1089ubuntu 安装 php7.4以及各类插件 安装系统 最近 ... -
宝塔定义站点
2020-02-24 10:41 2宝塔定义站点。 1111111111111111111111 ... -
让php-fpm以root账号运行
2020-02-19 21:41 809一般来说,我们没有这种需求,但是当需要时, 可以让php-fp ... -
将代码部署到coding.net
2020-01-10 14:20 631coding.net 是一个git仓库,有免费有收费。 首先 ... -
php部署工具deployer技巧 - vendor目录创建
2020-01-06 12:06 888deployer是个好东西,可是每次都composer ,其实 ... -
自定义redis多个实例
2020-01-04 01:17 645假如多个项目部署到同一台服务器,有时会被redis的各项目前缀 ... -
使用composer 类库 cachetool 清除opcache 的缓存
2020-01-03 16:38 961php的生产服务器上,需要把opche打开。 但有时,会被缓 ... -
laravel容器学习体会
2019-12-31 15:11 654根据文档与实测结果 假设我在app下建一个Services目 ... -
phalcon 自定义超强日志类
2019-12-18 10:00 826phalcon自带的日志文件类,有两个麻烦之处。 1、路径不能 ... -
自定义后台的使用
2019-12-18 05:22 423如果自己写后台,保存用户的表单请求值 所有的情况如下: 1 ... -
phalcon 自定义事件使用的多种方式
2019-12-16 20:43 778方法1:官方文档的方式。 这是控制器: public ... -
phalcon对控制器返回值的使用以输出json
2019-12-16 19:17 816在phalcon里,控制器的Action的方法的返回值没啥用。 ... -
phalcon数据库DB使用实例
2019-12-12 17:12 694整理了一下phalcon的db使用,写了个demo。 ... -
php-redis5.0降级成php-redis4.3
2019-08-22 00:01 889最新版本的php的redis插件,版本是5.0 但是可能会有 ... -
aes加密解密php和java互通代码
2019-08-20 20:19 1156代码主要来源如下,但是注意做了修改: https://gist ...
相关推荐
Deployer是一个强大的自动化部署工具,完全用PHP编写,旨在简化和标准化Web应用程序的部署过程。这个工具具有广泛的功能,能够适应各种开发环境和项目需求,尤其对于PHP开发者来说,它是一个不可或缺的利器。...
Deployer 是一个开源的 PHP 部署工具,由俄罗斯开发者 Andrey Akinshin 创建。它基于 PHP 编写,支持多种框架,包括 Laravel。Deployer 提供了一个强大的命令行接口,允许开发者编写易于理解和维护的部署脚本,这些...
安装最简单的方法是使用Composer: { "require": { "bugbyte/deployer": "1.0.*" }}如果您不能或不想使用Composer(哦,快点..),您可以从GitHub下载,但是您必须自己加载文件。用法有关简单设置,请参见 。要求...
`laravel-deployer`是一个专门针对Laravel框架的部署工具,基于`deployer`——一个通用的PHP部署解决方案。它的设计目标是使Laravel应用的部署变得自动化、标准化和可重复,从而提高开发团队的工作效率。 ### 使用...
Deployer是由提供支持PHP应用程序部署系统,由编写和维护。 查看,,和。 有关,和说明以及解答的信息,请参见 。 它能做什么 将应用程序部署到可通过SSH访问的多个服务器上 克隆项目的git存储库 安装作曲家依赖...
标题中的“开箱即用的支持流行框架的PHP部署工具”指的是Deployer,它是一个强大的PHP部署解决方案,旨在简化和自动化PHP应用程序的部署过程。Deployer允许开发者以声明式的方式定义部署任务,支持多种常见的PHP框架...
流行框架支持用PHP编写的CI / CD部署工具 产品特点 按项目/组部署到多台服务器 Yii2,Laravel,Codeigniter3框架支持 Git,Composer支持,源项目的任务 CI / CD解决方案 帮助开发人员将代码从本地实例部署到远程...
【Dockette部署工具与Deployer Ansible简介】 在IT行业中,自动化部署是现代Web应用程序开发和运维过程中的重要环节,它可以显著提高效率并减少人为错误。Dockette部署工具和Deployer Ansible都是用于自动化部署的...
deployer-php GitHub操作是PHP的开源零停机时间部署工具。 通过为您进行所有设置,该操作使使用轻松部署php服务。该动作做什么启动ssh-agent 将您的部署SSH私钥加载到代理中使用您提供的密钥来配置known_hosts (或...
您可以使用简介Deployer是用PHP编写的部署工具。 有关更多信息和文档,请参见deployer.org。 通过要求PHP 5.5.0及更高版本支持Deployer开发。 就这样! 您可以启用套接字以通过并行部署加快部署过程。 安装要安装...
用 PHP 编写的部署工具,支持开箱即用的流行框架。 Deployer 是一个 cli 工具,用于部署任何 PHP 应用程序,包括 Laravel、Symfony、Zend Framework 等框架。 Deployer 的主要概念是 recipe,一个包含任务定义的 php...
CodeIgniter部署器 3.0的部署工具。 您可以使用一个命令部署CodeIgniter。 这基于 3.0。资料夹结构 codeigniter/└── deploy/ ├── deploy.php ... config file for Deployer ├── deploy.sh ... script to ...
**Laravel Deployer** 是一个专门针对 Laravel 框架的自动化部署工具,它使得 PHP 开发者能够更高效、更可靠地部署他们的 Laravel 应用程序。Laravel Deployer 基于 Deployer,一个通用的 PHP 部署解决方案,但针对 ...
部署者用PHP编写的部署工具,支持开箱即用的流行框架。 有关更多信息和文档,请参见 。贡献您想为这个项目做贡献吗? 开始处理其中之一: 改善或文档修复其中一个添加新功能!维护者安东·梅德韦杰夫(Anton ...
MageDeploy2 使用Robo和... 可以在magedeploy2.php中配置这些工具的路径安装使用composer安装composer require mwltr/magedeploy2基于项目安装robo和deployer composer require consolidation/robocomposer requ
Pomander一种轻巧灵活的部署工具,用于部署Web应用程序。 该项目的灵感来自Capistrano和Deployer Vlad,并且建立在Rake克隆版本Phake的顶部。 该项目来自Pomander一个轻型灵活的部署工具,用于部署Web应用程序。 该...
在您的Magento 2服务器中部署和运行自动化命令的简便工具。 如何安装 如何安装 : curl -LO ...
MageDeploy2基础使用Robo和Deployer的Magento2部署设置。 这是您应基于部署的基础项目。 它提供了可配置和可自定义的设置来为Magento2创建推送部署。入门要求部署者/部署者合并/机器人mwltr / magedeploy2 netz98 / ...
部署者.in 是一个用 PHP 编写的部署工具,它简单实用。 将您的代码部署到您想要的所有服务器,它支持通过复制、或通过 VCS(如 git)或通过 rsync 进行部署。 在您的所有服务器上运行您的任务,或者使用我们的 ...