deploy php,deploy.php

该博客详细介绍了如何使用Fabric库来配置自动化部署流程。配置包括SSH连接设置、仓库源、共享文件和目录以及Composer的路径。此外,还定义了重启PHP-FPM服务的任务,并在部署完成后执行。整个部署过程包括代码更新、权限设置、符号链接创建等多个步骤。在部署失败时,系统会自动解锁。此脚本适用于PHP项目的持续集成和部署。
摘要由CSDN通过智能技术生成

namespace Deployer;

require 'recipe/common.php';

// Configuration

set('ssh_type', 'native');

set('ssh_multiplexing', false);

set('repository', 'https://github.com/bullsoft/fp-project.git');

set('shared_files', []);

set('shared_dirs', []);

set('writable_dirs', []);

// Composer in your server

set('bin/composer', function () {

return '/home/work/bin/composer';

});

// Servers

server('production', '115.28.223.103')

->user('work')

->identityFile()

->set('deploy_path', '/home/work/deployment/fp-app');

// Tasks

desc('Restart PHP-FPM service');

task('php-fpm:restart', function () {

// The user must have rights for restart service

// /etc/sudoers: username ALL=NOPASSWD:/usr/sbin/service restart php-fpm

run('sudo service php5-fpm restart');

});

after('deploy:symlink', 'php-fpm:restart');

desc('Deploy your project');

task('deploy', [

'deploy:prepare',

'deploy:lock',

'deploy:release',

'deploy:update_code',

'deploy:shared',

'deploy:writable',

'deploy:vendors',

'deploy:clear_paths',

'deploy:symlink',

'deploy:unlock',

'cleanup',

'success'

]);

// [Optional] if deploy fails automatically unlock.

after('deploy:failed', 'deploy:unlock');

task('release:write-id', function() {

run('tail -n 1 {{deploy_path}}/.dep/releases | cut -d, -f1 > {{deploy_path}}/releases/{{release_name}}/RELEASE_ID');

});

after('deploy:symlink', 'release:write-id');

一键复制

编辑

Web IDE

原始数据

按行查看

历史

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值