Skip to content

Commit ebf0d11

Browse files
committed
envoy 번역
1 parent 908b7b9 commit ebf0d11

File tree

1 file changed

+192
-0
lines changed

1 file changed

+192
-0
lines changed

envoy.md

+192
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,192 @@
1+
# 엔보이(envoy) 작업 실행기
2+
3+
- [소개](#introduction)
4+
- [설치](#envoy-installation)
5+
- [작업 실행](#envoy-running-tasks)
6+
- [다중 서버](#envoy-multiple-servers)
7+
- [병렬 실행](#envoy-parallel-execution)
8+
- [작업 매크로](#envoy-task-macros)
9+
- [알림](#envoy-notifications)
10+
- [엔보이 업데이트](#envoy-updating-envoy)
11+
12+
<a name="introduction"></a>
13+
## 소개
14+
15+
[라라벨 엔보이](https://github.com/laravel/envoy)는 여러분의 원격 서버에서 실행되는 일적인 작업을 정의해주는 깨끗하고, 최소한의 구문을 제공합니다. 블레이드 스타일의 구문을 사용하여, 여러분은 배포, 아티즌 커맨드 등을 위한 작업을 쉽게 설정 할 수 있습니다.
16+
17+
> **주의:** 엔보이는 PHP 5.4 이상의 버전을 요구하며, Mac과 Linux 운영체제에서만 실행됩니다.
18+
19+
<a name="envoy-installation"></a>
20+
## 설치
21+
22+
첫번째로, 컴포저 `global` 커맨드를 사용하여 엔보이를 설치합니다:
23+
24+
composer global require "laravel/envoy=~1.0"
25+
26+
터미널에서 `envoy` 커맨드를 실행 했을때 `envoy`가 실행 가능하도록 여러분의 PATH에 `~/.composer/vendor/bin` 경로가 추가되어있는지 확인하세요.
27+
28+
다음으로, 여러분의 프로젝트 루트에 `Envoy.blade.php` 파일을 생성합니다. 여기 여러분이 시작할 수 있도록 예제가 있습니다:
29+
30+
@servers(['web' => '192.168.1.1'])
31+
32+
@task('foo', ['on' => 'web'])
33+
ls -la
34+
@endtask
35+
36+
보이는 바와 같이, `@servers` 배열이 파일의 가장 윗부분에 정의되어 있습니다. 여러분은 작업 선언의 `on` 옵션에서 이 서버들을 참조 할 수 있습니다. `@task` 선언에서는 작업이 실행 됐을때 여러분의 서버에서 실행되어야 할 배쉬 코드를 배치해야 합니다.
37+
38+
`init` 커맨드는 스텁 엔보이 파일을 쉽게 생성하는데 사용 할 수 있습니다:
39+
40+
envoy init [email protected]
41+
42+
<a name="envoy-running-tasks"></a>
43+
## 작업 실행
44+
45+
작업을 실행하려면, 엔보이의 `run` 커맨드를 사용합니다:
46+
47+
envoy run foo
48+
49+
필요하다면, 커맨드 라인 스위치를 사용하여 엔보이에 변수를 전달 할 수도 있습니다:
50+
51+
envoy run deploy --branch=master
52+
53+
여러분이 사용하던 블레이드 구문을 통해 해당 옵션을 사용 할 수 있습니다:
54+
55+
@servers(['web' => '192.168.1.1'])
56+
57+
@task('deploy', ['on' => 'web'])
58+
cd site
59+
git pull origin {{ $branch }}
60+
php artisan migrate
61+
@endtask
62+
63+
#### 부트스트랩
64+
65+
```@setup``` 지시문을 사용하여 엔보이 파일 안에서 변수들을 선언하고 일반적인 PHP 작업을 할 수 있습니다:
66+
67+
@setup
68+
$now = new DateTime();
69+
70+
$environment = isset($env) ? $env : "testing";
71+
@endsetup
72+
73+
또한 ```@include```를 사용하여 PHP 파일들도 포함 시킬 수 있습니다:
74+
75+
@include('vendor/autoload.php');
76+
77+
#### 실행하기 전에 확인하기
78+
79+
만약 주어진 작업을 실행하기 전에 확인 안내를 받으려면, `confirm` 지시문을 사용합니다:
80+
81+
@task('deploy', ['on' => 'web', 'confirm' => true])
82+
cd site
83+
git pull origin {{ $branch }}
84+
php artisan migrate
85+
@endtask
86+
87+
<a name="envoy-multiple-servers"></a>
88+
## 다중 서버
89+
90+
여러분은 쉽게 여러 서버에서 작업을 실행 할 수 있습니다. 간단히 작업 선언에 해당 서버들을 나열 하세요:
91+
92+
@servers(['web-1' => '192.168.1.1', 'web-2' => '192.168.1.2'])
93+
94+
@task('deploy', ['on' => ['web-1', 'web-2']])
95+
cd site
96+
git pull origin {{ $branch }}
97+
php artisan migrate
98+
@endtask
99+
100+
기본적으로, 작업은 각각의 서버에 직렬로 실행됩니다. 이는 다음 서버에서 실행되기전에 첫번째 서버에서 실행이 완료됨을 의미합니다.
101+
102+
<a name="envoy-parallel-execution"></a>
103+
## 병렬 실행
104+
105+
만약 여러개의 서버에서 병렬로 작업을 실행하고 싶다면, 작업 선언에 `parallel` 옵션을 추가하세요:
106+
107+
@servers(['web-1' => '192.168.1.1', 'web-2' => '192.168.1.2'])
108+
109+
@task('deploy', ['on' => ['web-1', 'web-2'], 'parallel' => true])
110+
cd site
111+
git pull origin {{ $branch }}
112+
php artisan migrate
113+
@endtask
114+
115+
<a name="envoy-task-macros"></a>
116+
## 작업 매크로
117+
118+
매크로는 하나의 커맨드를 사용하여 일련의 작업을 순서대로 실행하도록 정의하게 해줍니다. 예를 들면:
119+
120+
@servers(['web' => '192.168.1.1'])
121+
122+
@macro('deploy')
123+
foo
124+
bar
125+
@endmacro
126+
127+
@task('foo')
128+
echo "HELLO"
129+
@endtask
130+
131+
@task('bar')
132+
echo "WORLD"
133+
@endtask
134+
135+
`deploy` 매크로는 이제 하나의 간단한 커맨드를 통해 실행 될 수 있습니다:
136+
137+
envoy run deploy
138+
139+
<a name="envoy-notifications"></a>
140+
<a name="envoy-hipchat-notifications"></a>
141+
## 알림
142+
143+
#### HipChat
144+
145+
작업을 실행한 뒤, `@hipchat` 지시문을 사용하여 여러분 팀의 HipChat 방에 알림을 보낼 수 있습니다.:
146+
147+
@servers(['web' => '192.168.1.1'])
148+
149+
@task('foo', ['on' => 'web'])
150+
ls -la
151+
@endtask
152+
153+
@after
154+
@hipchat('token', 'room', 'Envoy')
155+
@endafter
156+
157+
또한 사용자 정의 메세지를 지어 할 수도 있습니다. ```@setup``` 또는 ```@include```를 사용하여 포함되어 선언된 어떤 변수라도 메세지를 작성하는데 사용 될 수 있습니다:
158+
159+
@after
160+
@hipchat('token', 'room', 'Envoy', "$task ran on [$environment]")
161+
@endafter
162+
163+
이는 여러분의 팀이 서버에서 실행되는 작업의 알림을 계속 받을 수 있는 놀랍도록 간단한 방법입니다.
164+
165+
#### Slack
166+
167+
다음의 구문은 [Slack](https://slack.com)에 알림을 전송하는데 사용됩니다:
168+
169+
@after
170+
@slack('hook', 'channel', 'message')
171+
@endafter
172+
173+
여러분은 슬랙의 웹사이트에서 `Incoming WebHooks`을 생성하여 여러분의 웹후크 URL을 조회 할 수 있습니다. `hook` 인수는 슬랙의 인커밍 웹훅에서 제공되는 전체 URL이어야 합니다. 예를 들면:
174+
175+
https://hooks.slack.com/services/ZZZZZZZZZ/YYYYYYYYY/XXXXXXXXXXXXXXX
176+
177+
여러분은 channel 인수에 다음 중 하나를 제공 할 수 있습니다:
178+
179+
- 채널에 알림을 전송: `#channel`
180+
- 사용자에게 알림을 전송: `@user`
181+
182+
만약 `channel` 인수가 제공되지 않는다면 기본 채널이 사용됩니다.
183+
184+
> 주의: 슬랙 알림은 모든 태스크가 성공적으로 완료되었을 때만 전송됩니다.
185+
186+
<a name="envoy-updating-envoy"></a>
187+
## 엔보이 업데이트
188+
189+
엔보이를 업데이트하려면, 컴포저를 사용하세요:
190+
191+
composer global update
192+

0 commit comments

Comments
 (0)