> 백엔드 개발 > PHP 튜토리얼 > 배치자와 함께 PHP 애플리케이션을 쉽게 배포 할 수 있습니다

배치자와 함께 PHP 애플리케이션을 쉽게 배포 할 수 있습니다

Joseph Gordon-Levitt
풀어 주다: 2025-02-15 08:54:12
원래의
886명이 탐색했습니다.
이 기사는 최신 배포자 버전 (2017 년 3 월 26 일 기준)으로 업데이트되었습니다.

테스트, 코드 스타일 및 시스템 점검을 포함한 개발 워크 플로우 자동화는 일반적인 관행입니다. 새로운 애플리케이션 버전을 생산으로 옮기는 배포 자동화도 마찬가지로 중요합니다. 방법은 수동 FTP 업로드에서 Phing 및 Laravel의 Envoyer와 같은 정교한 도구에 이르기까지 다양합니다. 이 기사에서는 강력한 PHP 배포 도구 인 Deployer를 소개합니다


배치자의 주요 기능 :

배포자는 PHP 기반 도구 인 PHP 애플리케이션 배포를 자동화합니다. SSH 인증을 지원하고 배포 서버를 지정할 수 있으며

명령을 사용하여 정의 된 작업을 실행합니다. 제로 다운 타임 배포는 릴리스를 관리하고 서버 루트를 최신 릴리스를 나타내는 디렉토리에 연결하여 달성됩니다. 배포하는 동안 서버 유지 관리 모드가 필요하지 않습니다. Easy Deployment of PHP Applications with Deployer . 사전 구축 작업은 일반적인 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿