【개인 메모】 배포하기 위해 deploy를 사용해보기

3672 단어 devopsdeploy
TJ씨 가 릴리스 하고 있는 제품으로,
deploy라는 도구가 있습니다.

capistrano 대신 사용할 수 있을까?
생각하고 가볍게 조사해 본다.

이용하기 위해서는



git clone하고 make install하면 좋다.
> git clone [email protected]:visionmedia/deploy.git
> cd deploy
> make install

이것으로 끝. deploy 명령을 사용할 수 있게 된다.

시험에 이용해 보기



시도하기 위해 파일을 만들어 환경을 만들어 보았다.

실행하려면 vagrantpackerVirtualBox가 필요합니다.
vagrant up --provision 다음과 같은 처리 (명령 실행)

  • packer로 vagrant box를 작성합니다.
  • 배포 사용자 만들기
  • nc 설치
  • iptables 중지

  • 사용하고 싶다면 여기 부분을 적절하게 자신의 것으로 바꾸고 싶습니다 :)

    배포를 위한 구성 파일을 작성합니다.



    설정 파일에 대해서는, 디렉토리 바로 아래에 deploy.conf 를 준비한다.

    deploy.conf
    [vagrant]
    user anoonna
    host vagrant.192.168.33.50.xip.io
    repo https://github.com/futoase/simple-web.git
    path /var/app
    ref origin/master
    post-deploy nohup ./startup.sh > app.log &
    forward-agent yes
    

    설정 내용의 의미는 이런 느낌.
  • vagrant 환경이 대상입니다
  • anoonna 사용자로 배포
  • 배포 원본 리포지토리는 htps : // 기주 b. 코 m / 문득 아세 / 시 mp ぇ ぇ b. 기 t
  • 배포 대상은 /var/app
  • 대상 원격 브랜치는 origin/master
  • 배포 후 실행할 명령 지정 (nohup...)

  • ぃp. 이오이라는 하위 도메인에 IP 주소를 지정하면
    IP 주소를 돌려주는 편리한 DNS 서비스가 있으므로 host명에 이용해 보았다.

    deploy 대상 디렉토리 작성



    deploy 대상 디렉토리를 만들고,
    deploy를 수행할 준비를 하기 위해 명령 실행
    > deploy vagrant setup
    

    deploy [대상] [option]

    라는 형태로 명령을 실행한다.



    실행 후, /var/app 이하에 source, shared 디렉토리가 작성된다.



    deploy 실행


    deploy vagrant setup 실행 후,deploy vagrant 를 실행한다.



    동작 확인



    브라우저에서 Vagrant에서 시작한 게스트 머신에 연결하고 확인
    > open http://vagrant.192.168.33.50.xip.io:8080/
    



    무사히 배포할 수 있었다.

    기타



    deploy.conf를 관리하는 디렉토리에서
    커밋되지 않은 상태에서는 다음 경고가 발생합니다.



    원격 리포지토리에서 배포 할 수 있지만,
    tar ball로서 패키지화해 머신에 전송이라든지 할 수 없는 것일까.

    간단하기 때문에 사용하고 싶습니다 ...

    좋은 웹페이지 즐겨찾기