PHP 프로젝트에서 Deployer를 통합하고 구성하는 방법
개요:
PHP 프로젝트 배포 프로세스에서는 자동화된 도구를 사용하는 것이 매우 필요합니다. Deployer는 자동화된 프로젝트 배포를 달성하는 데 도움이 되는 PHP 기반 배포 도구입니다. 이 기사에서는 PHP 프로젝트에서 Deployer를 통합하고 구성하는 방법과 몇 가지 일반적인 구성 및 샘플 코드를 소개합니다.
1. Deployer 설치:
먼저 프로젝트에 Deployer를 설치해야 합니다. Composer를 사용하여 설치하는 것이 가장 쉬운 방법입니다. 터미널을 열고 프로젝트 루트 디렉터리로 전환한 후 다음 명령을 실행합니다.
composer require deployer/deployer --dev
그러면 프로젝트에 Deployer가 설치되고 개발 종속성에 추가됩니다.
2. 배포자 구성:
프로젝트 루트 디렉터리에 배포.php 파일을 만듭니다. 이것이 배포자 구성 파일이 됩니다. 배포.php 파일에서 대상 서버 호스트, 사용자 이름, 비밀번호 등과 같은 몇 가지 기본 정보를 구성해야 합니다.
<?php require 'recipe/common.php'; // 项目名称 set('application', 'your_project_name'); // 需要发布的代码库地址(可以是 Git、SVN 等) set('repository', 'git@github.com:your_username/your_project.git'); // 部署的目标服务器 server('production', 'your_server_hostname') ->user('your_server_username') ->password('your_server_password') ->set('deploy_path', '~/your_deploy_path'); // 可选:生成版本号(根据 Git 提交信息生成) set('keep_releases', 5); set('release_name', function () { return date('YmdHis') . '_' . strtolower(deployer_run('git log -n 1 --format="%h"'))->toString(); }); // 自定义任务:重启服务 task('service:restart', function () { run('sudo service your_service_name restart'); }); // 在部署成功后执行自定义任务 after('success', 'service:restart');
위 샘플 코드는 가장 기본적인 Deployer 구성을 보여주며, 실제 상황에 따라 수정해야 합니다. 그 중 your_project_name
은 프로젝트 이름, your_username
은 코드베이스의 사용자 이름, your_project
는 코드베이스의 이름입니다. , your_server_hostname
은 대상 서버의 호스트 이름, your_server_username
은 대상 서버의 사용자 이름, your_server_password
는 대상 서버의 비밀번호, < code>your_deploy_path는 대상의 프로젝트 위치입니다. 서버의 배포 경로, your_service_name
은 다시 시작해야 하는 서비스의 이름입니다. your_project_name
是项目的名称,your_username
是代码库的用户名,your_project
是代码库的名称,your_server_hostname
是目标服务器的主机名,your_server_username
是目标服务器的用户名,your_server_password
是目标服务器的密码,your_deploy_path
是项目在目标服务器上的部署路径,your_service_name
是需要重启的服务名称。
三、使用 Deployer 完成部署:
配置完成后,使用以下命令可以执行部署:
vendor/bin/dep deploy production
部署成功后,你的代码将会被推送到目标服务器上的指定路径,并执行自定义任务(此处为重启服务)。
四、更多配置与自定义任务:
Deployer 支持更多的配置和自定义任务,以满足不同项目的需求。下面是一些常用的配置和自定义任务示例:
set
set('writable_dirs', ['var/logs', 'var/cache']);
쓰기 가능한 디렉터리 설정:
일부 디렉터리는 모든 배포에 작성해야 할 수 있습니다.set
함수를 사용하여 이러한 디렉터리를 정의할 수 있습니다. task('cache:clear', function () { run('cd {{release_path}} && php bin/console cache:clear'); }); task('service:restart', function () { run('sudo service your_service_name restart'); }); // 在部署完成后依次执行清理缓存和重启服务 after('deploy:locked', 'cache:clear'); after('success', 'service:restart');
위 내용은 PHP 프로젝트에서 Deployer를 통합하고 구성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!