PHP 배포 도구 Deployer에서 분기 선택 구현
👉 htps : //에서 pぉ이ぇr. rg/
Deployer의 특징에는 레시피라는 단위로 배포시의 기능을 PHP로 확장할 수 있습니다(Slack에 게시 등).
이 기사에서는 실제로 Deployer를 사용하여 배포할 때 추가한 기능을 소개합니다.
배포할 분기를 사용자에게 선택하도록 허용
일반적으로 Deployer에서 배포하는 분기는 고정 또는 옵션이므로 사용자가 배포 할 때 CLI에서 배포 할 분기를 대화식으로 선택할 수 있습니다.
set_brancy_by_selection.php
<?php
use function Deployer\{askConfirmation, askChoice, get, set, writeln, input};
// ブランチをユーザー選択式に
set('branch', function () {
// --branch=<branch> でオプション指定されてるときはそれを使用できる
if ($branch = input()->getOption('branch')) {
return $branch;
}
$repository = get('repository');
exec("git ls-remote -h {$repository}", $outputLines);
$branches = [];
foreach ($outputLines as $line) {
if (preg_match('#refs/heads/(.*)$#', $line, $matches)) {
$branches[] = $matches[1];
}
}
$branch = askChoice("Choose a branch to deploy:", $branches);
writeln("> Branch chosen: {$branch}");
if (!askConfirmation("Are you sure to work with '{$branch}' ?")) {
exit();
}
return $branch;
});
이 코드를 사용하면 분기가 필요할 때 지점을 선택할 수 있습니다.
명령 행 인수로 전달하면 그대로 사용됩니다.
./dep deploy <stage> --branch=master
Deployer 명령
Deployer recipe 에서 사용할 수 있는 CLI 에서의 사용자 입출력 주위의 명령의 소개입니다.
askChoice
function askChoice($message, array $availableChoices, $default = null, $multiselect = false)
$availableChocies
로 지정한 array
를 바탕으로 선택지를 내주는 느낌입니다.askConfirmation
function askConfirmation($message, $default = null)
y / n
에서 두 가지 확인을 내줍니다.writeln
function writeln($message, $options = 0)
메시지를 출력합니다.
그 외에도 원격으로 명령 실행과 같은 필요한 기능이 있습니다. htps : //에서 pぉ이ぇr. 오 rg/도 cs/아피. HTML
그리고는 PHP의 코드를 그대로 사용할 수 있으므로, 익숙하다면 특히 제작 없이 사용할 수 있는 감자입니다.
Reference
이 문제에 관하여(PHP 배포 도구 Deployer에서 분기 선택 구현), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mangano-ito/items/433abb0e9186c3455e1b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)