웹 기술의 지속적인 발전으로 PHP는 여전히 백엔드 개발에서 무시할 수없는 중요한 언어입니다. 실제 개발에서 배포 프로세스가 효율적인지 여부는 종종 프로젝트의 온라인 효율성과 안정성에 직접적인 영향을 미칩니다. 이 기사를 사용하면 우수한 자동 배포 도구 인 Deployer를 사용하여 효율적이고 제어 가능한 PHP 배포 프로세스를 구축 할 수 있습니다.
배포자는 복잡한 배포 프로세스를 단순화하도록 설계된 PHP 기반 오픈 소스 배포 도구입니다. PHP를 사용하여 구성 로직을 작성하여 개발자가 배포 전략을 유연하게 제어하고 자동화 된 작업으로 프로젝트 시작을 신속하게 완료 할 수 있습니다.
배포자의 핵심 장점은 다음과 같습니다.
Flexible Configuration : 배포 스크립트 자체는 PHP 코드이며 논리적 판단, 코드 스 니펫 등을 사용하여 유연한 구성을 허용합니다.
여러 환경 지원 : 배포 정책은 다른 환경 (예 : 준비 및 생산)에 대해 설정할 수 있습니다.
병렬 배포 기능 : 동시에 여러 서버 노드에 코드 배포를 지원하여 배포 시간이 크게 줄어 듭니다.
다음은 배포자를 사용하여 배포 할 때 일반적인 PHP 프로젝트의 디렉토리 구조입니다.
my-project/ ├ ─) Current/ ├ ── 릴리스/ │ │ │ ─퀴 20220101_120000/ 20220102_150000/ └ ── 공유/ logs/ STOROGE/ Storage/
프로젝트 루트 디렉토리에서 Composer를 사용하여 배치자를 설치하십시오.
Composer는 배치자/배포자가 필요합니다
프로젝트 루트 디렉토리에서 기본 배포 구성 스크립트로 deploy.php
파일을 만듭니다. 기본 구성 예는 다음과 같습니다.
<?php require 'vendor/autoload.php'; // 프로젝트 이름 set('application', 'my-project'); // 코드 저장소 주소 set('repository', 'git@github.com:username/my-project.git'); // 구성 staging 환경 host('staging') -> 호스트 이름 ( 'example.com') -> set ( 'deploy_path', '/var/www/staging'); // 프로덕션 환경 호스트 ( '생산') 구성 -> hostname ( 'example.com') -> set ( 'deploy_path', '/var/www/production'); // 기본 배포 작업 ( '배포', function () {정의 // 최신 버전으로 전환 $ releasepath = "{{deploy_path}}/releases/{{timestamp}}"; run ( "git clone -depth 1 {{repository}} $ reeleasepath"); // 상징적 링크 실행 ( "ln -sfn $ releasepath {{deploy_path}}/current")을 만듭니다. // 설치 종속성 실행 ( "cd {{deploy_path}}/current && composer install"); // run의 기존 버전을 정리합니다 ( "ls -dt {{deploy_path}}/릴리스/* | tail -n +6 | xargs -r rm -rf"); }); // 스테이징 배포 작업을 정의합니다 set ( 'branch', 'staging'); 호출 ( '배포'); })-> onroles ( 'Staging'); // 생산 배포 작업 정의 작업 ( 'Production', function () { set ( 'branch', 'production'); 호출 ( '배포'); })-> Onroles ( 'production');
이 구성 예는 프로젝트 기본 정보, 환경 정보를 설정하고 task()
통해 배포 로직을 정의하는 방법을 보여줍니다. {{deploy_path}}
및 {{timestamp}}
과 같은 변수는 배포 될 때 실제 값으로 자동으로 대체됩니다.
배포 명령은 매우 간단합니다. 터미널에서 실행하십시오.
DEP 배포
배포자는 서버에 자동으로 연결하고 코드를 당기고, 종속성을 업데이트하고, 기존 버전을 정리하는 등 구성에 따라 전체 배포 프로세스를 자동화합니다.
배치자를 사용하면 PHP 프로젝트의 배포 프로세스가 더 이상 복잡하지 않습니다. 효율성을 향상시킬뿐만 아니라 배포의 제어 성과 유지 가능성을 향상시킵니다. 중소 규모의 프로젝트이든 여러 노드가있는 대규모 시스템이든 배포자는 강력한 지원을 제공합니다. 시도하지 않은 경우 다음 프로젝트에 소개하고 배포 자동화로 인한 변경 사항을 경험할 수 있습니다.