PHP 개발에서 프로젝트 배포는 매우 중요한 부분입니다. 전통적인 수동 배포는 종종 오류가 발생하기 쉬우 며 비효율적입니다. 이러한 문제를 해결하기 위해 배포자가 PHP를 기반으로 한 오픈 소스 자동화 도구로 배포 효율성과 품질을 크게 향상시킬 수 있습니다. 이 기사는 자동화 된 배포에 배치자를 사용하는 방법을 자세히 소개하고 코드 예제를 통해 특정 구현 방법을 시연합니다.
배포자는 PHP 프로젝트의 배포 프로세스를 단순화하고 가속화하도록 설계된 PHP 기반 자동 배포 도구입니다. 배치자를 사용하면 간결한 코드를 사용하여 배포 작업을 정의하여 원격 서버에서 자동 배포를 가능하게합니다.
먼저 Composer를 통해 배치자를 설치해야합니다. 프로젝트 루트 디렉토리에서 명령 줄을 열고 다음 명령을 실행하십시오.
composer require deployer/deployer --dev
설치가 완료된 후 프로젝트의 루트 디렉토리에서 deploy.php라는 구성 파일을 작성하고 배치자를 구성해야합니다. 기본 구성 예는 다음과 같습니다.
<?php
require 'recipe/common.php';
set('application', 'my-app');
host('production')
->hostname('example.com')
->user('user')
->set('deploy_path', '~/www/{{application}}');
set('repository', 'git@github.com:username/repo.git');
set('branch', 'master');
이 구성에서는 프로젝트 이름, 배포 서버의 관련 정보, 코드 리포지토리 주소 및 배포 대상 지점을 정의합니다. 프로젝트의 실제 요구에 따라 이러한 설정을 조정할 수 있습니다.
구성이 완료되면 deploy.php 파일에서 특정 배포 작업을 정의 할 수 있습니다. 예는 다음과 같습니다.
task('deploy:update_code', function () {
$sourcePath = get('config.source_path');
$releasePath = get('deploy_path') . '/releases/' . date('YmdHis');
run("git clone {{repository}} $releasePath");
});
task('deploy:build', function () {
$releasePath = get('release_path');
run("cd $releasePath && composer install --no-dev");
});
task('deploy:cleanup', function () {
$releasesPath = get('deploy_path') . '/releases';
run("ls -dt $releasesPath/* | tail -n +{{keep_releases}} | xargs rm -rf");
});
task('deploy', ['deploy:update_code', 'deploy:build', 'deploy:cleanup']);
위의 예에서는 세 가지 주요 작업을 정의합니다. 배포 : Update_Code는 최신 코드를 가져 오는 데 사용됩니다. 배포 : Build는 프로젝트 종속성 설치를 담당 하고 배포하는 데 사용됩니다. 정리는 이전 버전을 정리하는 데 사용됩니다. 마지막으로 배포 라는 기본 작업을 정의하여 순서대로 수행합니다.
작업 정의를 완료 한 후 명령 줄을 통해 배포 할 수 있습니다. 명령 줄에 프로젝트 디렉토리를 입력하고 다음 명령을 실행하십시오.
dep deploy
Deployer는 원격 서버에 자동으로 연결하고 구성 파일의 작업 순서대로 배포 프로세스를 수행합니다. 또한 Deployer는 구성 파일 초기화를위한 DEP Init 와 같은 명령, 사용자 정의 작업 실행을위한 DEP 실행 등을 제공합니다.
배포자는 PHP 프로젝트의 배포 프로세스를 효과적으로 단순화 할 수있는 강력하고 사용하기 쉬운 도구입니다. 자동화 된 배포를 통해 개발자는 배포 효율성과 품질을 크게 향상시킬 수 있습니다. 이 기사는 배치자를 사용하여 특정 구성 및 작업 예제를 통해 PHP 프로젝트에 자동으로 배포하는 방법을 보여줍니다. 이 기사가 개발자가 배치자를 더 잘 이해하고 적용하고 업무 효율성을 향상시키는 데 도움이되기를 바랍니다.