詳細検索

FuelPHP + Ansible 초간편 개발/운영을 위한 - FuelPHP 설치

아바타
글쓴이 吉亨斗
5분 읽기

FuelPHP + Ansible 초간편 개발/운영을 위한 - FuelPHP 설치
日本語에서 번역 • 원문 보기

이제 개발자들이 쉽게 인프라를 구축할 때입니다. Ansible은 환경을 쉽게 구축할 수 있게 해주는 강력한 환경 구축 도구입니다.

환경을 구축하는 데 사용하는 다른 도구들도 많지만, 왜 Ansible을 선택했는지 이해하려면 제가 이전에 쓴 다음 글을 참고해 주세요.

Qiita 소프트웨어 엔지니어들의 환경 건설 자동화 도구에 대한 비교 및 인상

Lalavel, 고전적인 CakePHP, 초고속 Phalcon 같은 PHP 프레임워크가 최근 몇 년간 인기를 끌고 있지만, 제가 FuelPHP를 선택한 이유는 풍부한 기능과 일본어로 된 많은 정보 때문입니다. 저는 단순히 이 제품이 마음에 듭니다.

앞으로는 FuelPHP + Ansible을 이용한 개발 노하우를 다음 순서로 소개하고자 합니다.

  • 1부: FuelPHP 설치
  • 2부: 스위칭 유지보수 모드
  • 3부: 배치
  • 4부: 개발 및 생산 과정 중 구성 및 주의사항

다음 개발 환경을 바탕으로 설명하겠습니다. Ansible의 개념을 아는 분들을 위한 것도 좋습니다.

  • 맥OS X 10.10.2
  • 앤서블 1.7.2
  • FuelPHP 1.7

※ 구글에서 검색하면 ansible 설치 지침이 많으니 생략하겠습니다.

FuelPHP를 Ansible에 설치하기 위해 플레이북을 실행하려면, yaml 형식으로 ~/role/role name/subordinate로 단계를 작성해야 합니다. 다음은 ~/role/role name/task/main.yml의 프로세스 내용입니다.

- 이름: (1) 저장소에서 코드를 복사함
git: repo={{ repository }} dest={{ root_dir }} accept_hostkey=yes
스도: 아니요

- 이름: (2) 컴퍼서 자체 업데이트
Shell: PHP Composer.phar Self-Update chdir={{ root_dir }}

- 이름: (3)컴포서 업데이트
쉘: PHP composer.phar 업데이트 chdir={{ root_dir }}

- 이름: (4)집합 fuel_env. 
Shell: env FUEL_ENV=production PHP oil -v chdir={{ root_dir }}

- 이름: (5) 링크 생성. 
파일: path={{document_root_path}} src={{fuel_public_dir_path}} state=link

- 이름: (6)dB 이주. 
Shell: FUEL_ENV=production PHP Oil Refine Migrate chdir={{ fuel_dir_path }}

프로세스에서 사용되는 {{ }}는 변수 이름을 포함합니다. 변수의 정의는 /role/rolename/vars/main.yml에 작성되어 있습니다. 위 내용은 다음과 같습니다.

# fuelPHP 깃허브 저장소 이름
저장소: git@github.com:fuel/fuel.git

# DIR 원본 본체가 저장된 곳
root_dir: /var/www/ 

# FuelPHP의 DIR 이름
fuel_dir_path: /var/www/test

# FuelPHP 공개 DIR 이름
fuel_public_dir_path: /var/www/test/public

# 문서 루트의 DIR 이름
document_root_path: /var/www/html/public

처리 순서대로 (1) github에서 FuelPHP 소스 다운로드. (2) 컴포서 자체를 업데이트하기 (3) 컴포서로 FuelPHP 핵심 부분을 설치하기 (4) 생산 설정 및 FUEL_ENV 환경 변수로 설정(생산 명시) (5) 문서 루트의 FuelPHP 공개 디렉터리 아래에 심볼릭 링크를 붙여넣기 (6) FuelPHP를 마이그레이션하여 자동으로 테이블을 생성합니다

이것이 Ansible에 FuelPHP 설치를 위한 역할의 내용입니다. 다음으로, 플레이북을 실행하는 과정을 작성해 보겠습니다.

~/fuelphp.yml는 플레이북에서 실행할 역할의 이름을 지정합니다.

- 이름: FuelPHP 설치 
진행자: ec2_web01
스도: 네
remote_user: 뿌리
역할: 
- 롤 네임

다음으로, 인벤토리 파일을 생성하세요. Ansible을 실행할 서버의 IP를 host라는 파일에 설정하세요.

[ec2_web01]
00.00.000.000

마지막으로, 플레이북을 실행하세요.

ansible-playbook -저는 fuelphp.yml 호스팅

지금까지 FuelPHP 개발에 필요한 설치 절차를 Ansible 코드로 구현했습니다. 불변 인프라의 개념은 미들웨어 설치 절차와 환경 구축 절차를 시각화함으로써 팀원 간 정보 공유가 더 쉬워지고 구축 과정에서 시간과 노력을 절약할 수 있다는 점이라고 생각합니다. Ansible을 적극적으로 도입하고 개발 효율성을 높이자!

다음에는 Ansible+FuelPHP를 이용한 매우 쉽고 빠른 유지보수 모드 전환을 소개하겠습니다.

Related Articles