Header

  1. View current page

    aproxacs

Profile_img_60x60_01
89

[Rails] Webistrano를 이용해서 배포하기

 

Webistrano

capistrano는 rails의 배포를 간편하게 해준다. 'cap deploy' 라는 command 하나로 배포가 완전히 실행되고, 서버가 재시작된다. 그럼에도 불구하고 shell command를 입력해야 한다는 것은 변함이 없고, 이는 불편한 UI이다. deploy 명령을 web UI를 통해서 할 수 있다면 좋지 않겠는가?

webistrano 는 capistrano의 task를 Web UI를 통해서 수행하고 정의할 수 있도록 도와 준다.

webistrano의 목적은 다양한 환경과 시나리오에서 배포하는 것을 손쉽게 하는 것이다.

Webistrano's purpose is to make the deployment of multi-stage and multi-environment scenarios easy. Further it allows you to track who deployed what, when to which servers and be alerted by email on each deployment.

그리고 task를 실행한 기록을 남김으로써 언제 무슨 짓을 했는지 알 수 도 있다.

 

설치

webistrano는 rails로 만들어져 있다. 다운로드 페이지 를 참조해서 webistrano를 설치해 보자.

소스는 svn으로 checkout 받을 수 있다.

  1. svn co http://labs.peritor.com/svn/webistrano/branches/1.3

 

설치 페이지 를 참조해서 config및 database를 설정하고 서버를 실행시킨다.

admin/admin 계정으로 접속할 수 있다.

 

사용

screencast를 보면 webistrano의 사용에 대해서 많은 정보를 얻을 수 있다.

 

간단하게 프로젝트를 하나 생성하고 배포를 하도록 해 보자.

project 생성

project를 하나 생성한다. 여기서는 Project Type을 Mod Rails 로 한다. 

project의 configuration 값들을 채운다.

project.png

 

  • apache_init_script 는 apache의 init script가 있는곳이다. default값도 잘 동작하니 지우자.
  • deploy_to 는 deploy를 할 path이다.
  • mod_rails_restart_file 에 $deploy_to/current/tmp/restart.txt의 절대 경로를 적어준다. (mod_rails 는 restart.txt 파일을 RAILS_ROOT/tmp 디렉토리에 생성하는 것으로 서버를 재시작한다.)
  • repository에 svn의 repository를 적어준다.
  • runner는 sudo를 사용할 경우 sudo 의 실행 계정이다. root로 해 두자.
  • scm_password 에 subversion의 password를 입력한다.
  • scm_username은 subversion에 접속할 사용자 id이다.
  • user는 배포할 서버에 SSH로 접속하려고 하는 계정 이름이다.
  • password는 user의 password이다.
  • use_sudo는 command에 sudo를 사용할 것인지를 결정한다.

 

host 추가

다음과 같이 host를 추가한다.

host(1).png

 

recipes 추가

더 필요한 task가 있으면 recipes를 만든다.

recipe.png

여기서는 update후에 public/.htaccess 파일을 지우는 task를 하나 추가했다. 이렇게 생성한 recipe는 배포 프로젝트의 설정에 추가할 수 있다.

 

state 생성

stage는 project를 배포하는 하나의 시나리오다. 한 프로젝트인 경우에도 여러개의 배포 시나리오가 있을 수 있다. 예를 들어 자체 테스트를 위한 배포, 서비스를 위한 배포.. 이런 식으로 말이다. 이런 시라리오 들을 스테이지로 생성할 수 있다.

스테이지의 생성 버튼는 프로젝트 상세 페이지의 하단부에 있다.

stage.png

 

stage를 생성했으면 stage에 deployed host를 추가해 준다. 그리고 필요한 recipes가 있으면 설정해 준다.

state_detail.png

이것으로 설정은 끝났다.

배포를 하고 싶을 때는 위의 스테이지 페이지에서 오른쪽 상단의 deploy 누르면 된다.

 

참조

webistrano 홈

 

Tags

History

Last edited on 05/28/2008 23:19 by 창

Comments (0)

You must log in to leave a comment. Please sign in.