이 기사는 최신 배포자 버전 (2017 년 3 월 26 일 기준)으로 업데이트되었습니다.
테스트, 코드 스타일 및 시스템 점검을 포함한 개발 워크 플로우 자동화는 일반적인 관행입니다. 새로운 애플리케이션 버전을 생산으로 옮기는 배포 자동화도 마찬가지로 중요합니다. 방법은 수동 FTP 업로드에서 Phing 및 Laravel의 Envoyer와 같은 정교한 도구에 이르기까지 다양합니다. 이 기사에서는 강력한 PHP 배포 도구 인 Deployer를 소개합니다
배치자의 주요 기능 :
배포자는 PHP 기반 도구 인 PHP 애플리케이션 배포를 자동화합니다. SSH 인증을 지원하고 배포 서버를 지정할 수 있으며 명령을 사용하여 정의 된 작업을 실행합니다.
제로 다운 타임 배포는 릴리스를 관리하고 서버 루트를 최신 릴리스를 나타내는 디렉토리에 연결하여 달성됩니다. 배포하는 동안 서버 유지 관리 모드가 필요하지 않습니다.
.
사전 구축 작업은 일반적인 PHP 응용 프로그램 요구를 충족시키고 인기있는 프레임 워크 (Laravel, Symfony, Yii, Zend)를위한 사전 구성된 레시피가 존재합니다.
원자 배포는 배포가 중단 되더라도 애플리케이션 일관성을 보장합니다. 내장 된
작업을 통해 이전 릴리스로 되돌릴 수 있습니다
예제 응용 프로그램 :
시연은 디지털 로코의 액적에 배치 된 이전 기사의 응용 프로그램을 사용합니다. 소스 코드는 github에서 사용할 수 있습니다 (원본 텍스트에 제공되지 않으므로 Brevity에 대해서는 링크가 생략 됨)
설치 :
배포자는 PHAR 파일로 배포됩니다. 그것을 다운로드하고 선택적으로 글로벌 액세스를 위해 시스템의 빈 디렉토리로 이동하십시오 (자세한 내용은 문서 참조) :
서버 구성 : -
데모 리포지토리를 클로닝 한 후
dep
를 작성하여 배포 단계를 정의하십시오. 서버를 정의하여 시작하십시오. 기본 사용자 이름/비밀번호 인증 :
특정 환경에 대한 작업을 대상으로 서버 유형 (스테이징, 생산)을 지정합니다.
-
current
스테이지를 사용할 때 중요합니다. 그렇지 않으면 오류가 발생합니다. 참고 : PHP 7은 문 ()을 결합 할 수 있습니다
SSH 인증 :
SSH 키 인증은 생산에 권장됩니다. (필요한 경우 SSH 키 설정 안내서를 참조하십시오.)
-
기본값으로 . 필요한 경우 경로를 사용자 정의하십시오
-
배포자는 다양한 SSH 연결 방법을 지원하여 기본 시스템 명령에 대한 기본값입니다.
rollback
SSH2 확장 :
PHP SSH2 확장자는 대안을 제공합니다. 설치하고 활성화 한 다음 패키지가 필요하고 : 를 설정하십시오.
herzult/php-ssh
(참고 : ssh_type
는 배치자 Phar에 포함되어 있지 않으며 사용자 정의 Phar를 구축해야 할 수도 있습니다.)
yaml 구성 : mv deployer.phar /usr/local/bin/dep
chmod +x /usr/local/bin/dep
로그인 후 복사
서버는 yaml 파일 (<🎜 🎜>)로 정의하고 <🎜 🎜> : <🎜 🎜>를 사용하여로드 할 수 있습니다.
herzult/php-ssh
<🎜 🎜> <<> 작업 정의 :
<🎜 🎜>
작업은 <🎜 🎜> 명령 (예 : <🎜 🎜>)을 통해 실행됩니다
샘플 작업은 파일을 업로드하고 서버 명령을 실행할 수 있습니다.
<🎜 🎜> 메소드는 작업에 도움말 텍스트를 추가합니다
<🎜 🎜> <<> 작업 조직 : <🎜 🎜>
큰 작업을 <🎜 🎜> 및 servers.yml
후크를 사용하여 대형 작업을 작고 재사용 할 수있는 작업으로 분해합니다.
serverList()
<<> 제로 다운 타임 배포 : // deploy.php
server('digitalocean', '104.131.27.106')
->user($_ENV['staging_server_user'])
->password($_ENV['staging_server_password']);
로그인 후 복사
<🎜 🎜>
// deploy.php
use function Deployer\set;
use function Deployer\server;
set('default_stage', 'staging');
server('digitalocean', '104.131.27.106')
->user($_ENV['staging_server_user'])
->password($_ENV['staging_server_password'])
->stage('staging')
->env('deploy_path', '/var/www');
로그인 후 복사
다운 타임을 피하기 위해 디렉토리의 최신 릴리스를 가리키는 Symlink를 사용하십시오 :
일반적인 작업 및 레시피 :
배포자는 일반적인 작업 및 프레임 워크 별 레시피 (Laravel, Symfony 등)를 제공합니다. 일반적인 작업을 사용하는 예 :
배포 레시피 및 FAQ에 대한 나머지 섹션은 원래 텍스트에서 적절하게 다루기 때문에 간결하게 생략됩니다. 주요 개념과 코드 예제는 원래의 의미와 구조를 유지하면서 명확성과 간결함을 위해 논의 및 재구성되었습니다. 이미지는 원래 형식과 위치로 유지됩니다
위 내용은 배치자와 함께 PHP 애플리케이션을 쉽게 배포 할 수 있습니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!