login register Sysop! about ME  
qrcode
    최초 작성일 :    2012년 06월 28일
  최종 수정일 :    2012년 06월 28일
  작성자 :    parky15
  편집자 :    parky15 (박 근우)
  읽음수 :    21,028

강좌 목록으로 돌아가기

필자의 잡담~

이번 컬럼은 박근우(parky15)님이 번역해 주셨으며, 오픈 소스 기반의 버전 관리 시스템인 Git와 Windows Azure를 연동하여 웹 사이트를 게시하는 방법에 대해서 설명하고 있습니다. 컬럼의 원문은 http://www.windowsazure.com/en-us/develop/net/common-tasks/publishing-with-git/ 입니다.

이 글은 Windows Azure 공식 컬럼인 http://www.windowsazure.com/en-us/develop/net/common-tasks/publishing-with-git/의 글을 편역한 내용입니다. 마이크로소프트의 공식 번역 문서가 아니며 태오 사이트 MS 컬럼 번역팀에서 번역한 내용입니다. 그렇기에, 일부 오역이나 오타가 존재할 수 있는 점 미리 양해를 구합니다. 원문에 대한 모든 저작권은 마이크로소프트에 있으며, 컬럼 내용과 관련한 질의 문답 역시 원문 사이트에 문의하시는 것을 추천드립니다.

Git를 사용하여 Azure 웹 사이트 게시하기

Git는 개발자들에게 많이 사용되는, 오픈 소스 기반의, 분산 환경 버전 관리 시스템입니다. Windows Azure 기반의 웹 사이트는 Git 저장소와 연동이 가능하고, 소스 수정 사항을 쉽고 빠르게 여러분의 사이트에 반영할 수 있습니다. 이 글에서는, Git를 사용하여 소스 변경 내용을 어떻게 Windows Azure 기반의 웹 사이트에 게시하는지에 대해서 알아보도록 하겠습니다.

이 글에서 언급되는 많은 Git 명령어는 Mac과 Linux를 위한 Windows Azure 명령줄 도구를 사용하여 웹 사이트를 생성할 시 자동으로 수행됩니다.

작업을 위해서는 아래의 단계를 거쳐야 합니다.

  • Git 설치하기
  • 로컬 저장소 생성하기
  • 웹페이지 추가하기
  • 웹 사이트 저장소 활성화하기
  • 원격 저장소로 웹 사이트 추가하기
  • 웹 사이트 배포 및 재배포하기
  • 트러블슈팅

Git 설치하기

Git 설치 절차는 운영 체제에 따라 차이가 있습니다. 운영 체제에 맞는 설치 파일과 설치 지침은 Git 설치를 참조하십시오.

참고 : 대부분의 운영 체제에서, 명령줄과 GUI 버전의 Git을 사용할 수 있습니다. 이 문서에서 제공하는 지침은 명령줄 버전 도구를 사용하고 있습니다.

로컬 저장소 생성하기

새 Git 저장소를 생성하기 위해서 아래의 작업을 수행합니다.

  1. GitBash (Windows) 또는 Bash (Unix Shell)와 같은 명령줄 도구를 엽니다.
  2. 명령줄에서 웹 사이트를 생성하고자 하는 디렉터리로 이동합니다. 예를 들면, cd needsmoregit와 같이.
  3. 아래의 명령을 사용하여 새 Git 저장소를 초기화합니다.

Git init

그러면 Initialized empty Git repository in [path] 와 같은 메시지가 출력될 것입니다.

웹 페이지 추가하기

Windows Azure 기반에서 운영되는 웹 사이트는 다양한 프로그래밍 언어로 만들어진 응용 프로그램을 지원합니다. 예를 들면, 정적인 .html 파일과 같은 것이겠지요. 다른 많은 프로그래밍 언어로 만들어진 웹 사이트의 Windows Azure 게시를 위한 정보는 Windows Azure 개발자 센터를 살펴보십시오.

  1. 텍스트 편집기를 사용하여, index.html 이라는 이름의 새 파일을 Git 저장소의 루트에 생성합니다.
  2. 명령줄로, 저장소를 생성했던 디렉터리에 위치해 있는지를 확인하고, 아래의 명령어를 사용하여 index.html 파일을 저장소에 추가합니다.

    git add index.html
  3. 다음으로 아래 명령어를 사용하여 변경 내용을 저장소에 반영합니다.

    git commit -m "Adding index.html to the repository"

    그러면 아래와 같은 결과를 확인할 수 있을 겁니다.

    [master (root-commit) 369a79c] Adding index.html to the repository
    1 file changed, 1 insertion(+)
    create mode 100644 index.html

웹 사이트 저장소 활성화하기

여러분의 웹 사이트를 위한 Git 저장소를 활성화하기 위해서는 Windows Azure 포탈에서 아래의 절차를 거쳐야 합니다.

  1. Windows Azure 포탈에 로그인 합니다.
  2. 페이지의 왼편에서, Web Sites를 선택한 후 저장소를 활성화하고자 하는 웹 사이트를 선택합니다.


    출처 : https://www.windowsazure.com/media/devcenter/shared/git-select-website.png

  3. 페이지 하단의 quick glance 부분에서 Setup Git publishing을 선택합니다.


    출처 : https://www.windowsazure.com/media/devcenter/shared/git-setup-git-link.png

    Windows Azure 웹 사이트의 게시 활성화가 처음이라면, 배포 자격 증명을 묻는 메시지가 나타날 수 있습니다. 향후 웹 사이트 배포에 사용할 사용자명과 패스워드를 입력하십시오.


    출처 : https://www.windowsazure.com/media/devcenter/shared/git-deployment-credentials.png

  4. 잠시 후, 저장소가 준비되었다는 메시지가 나타날 것입니다. 이 메시지 아래, Push my local files to Windows Azure 부분에는 여러분의 로컬 파일을 Windows Azure에 배포할 때 사용하게 될 명령어가 나열됩니다.


    출처 : https://www.windowsazure.com/media/devcenter/shared/git-setup-complete.png

원격 저장소로 웹 사이트 추가하기

앞서 로컬 저장소를 초기화하고 그곳에 파일을 추가했기 때문에, 포탈에서 언급된 단계 1, 2는 생략하십시오. 명령줄에서, 여러분의 웹 사이트 디렉터리로 이동하여 포탈에 있는 지침 중 단계 3을 수행합니다. 아래와 같이요.

git remote add azure http://username@needsmoregit.windowsazure.net/NeedsMoreGit.git

remote 명령은 명명된 참조를 원격 저장소에 추가하는데, 위 예의 경우 Windows Azure 기반 웹 사이트에 사용할 'azure'라는 이름의 참조를 생성했습니다.

웹 사이트 게시 및 재 게시하기

  1. 명령줄에서 아래 명령어를 사용하여 로컬 저장소에 있는 현재 컨텐츠들을 원격 'azure'에 추가합니다.

    git push azure master

    앞서 저장소를 설정할 때 입력했던 패스워드를 입력하라고 할 것입니다. 패스워드를 넣으면 아래와 비슷한 결과를 보게 될 것이고요.

    Counting objects: 6, done.
    Compressing objects: 100% (2/2), done.
    Writing objects: 100% (6/6), 486 bytes, done.
    Total 6 (delta 0), reused 0 (delta 0)
    remote: New deployment received.
    remote: Updating branch 'master'.
    remote: Preparing deployment for commit id '369a79c929'.
    remote: Preparing files for deployment.
    remote: Deployment successful.
    To http://username@needsmoregit.windowsauzre.net/NeedsMoreGit.git
    * [new branch] master -> master

    참고 : Windows Azure 상의 웹 사이트를 위해 만든 저장소는, 해당 웹 사이트의 컨텐츠로 사용될 저장소의 master 분기 대상 push 요청을 기다릴 것입니다

  2. 포탈에서, 하단의 BROWSE 링크를 클릭하면 index.html이 배포된 것을 확인할 수 있습니다. 페이지에는 'Hello Git!'라고 나올 것이고요.


    출처 : https://www.windowsazure.com/media/devcenter/shared/git-hello-git.png

  3. 텍스트 편집기에서 'Yay!'라고 index.html 파일 내용을 수정한 후 저장해 보십시오.
  4. 명령줄에서 아래와 같이 add와 commit 명령어로 변경한 후 push 명령어를 사용하여 수정 사항을 원격 저장소에 반영합니다.

    git add index.html
    git commit -m "Celebration"
    git push azure master

    push 명령이 완료되고 나면, 브라우저를 새로 고침하여 마지막으로 반영했던 변경 사항이 페이지에 반영된 것을 확인하십시오.


    출처 : https://www.windowsazure.com/media/devcenter/shared/git-yay.png

트러블슈팅

다음은 Git를 사용 하여 Windows Azure에 웹 사이트를 게시할 때 일반적으로 발생하는 오류와 문제들입니다.


증상 : Couldn't resolve host 'hostname'

원인 : 이 오류는 원격 'azure'를 생성할 때 입력한 주소 정보가 틀렸을 때 발생할 수 있습니다.

해결방법 : git remote -v 명령을 사용하여 연결과 URL과 함께 모든 원격 목록을 확인합니다. 'azure' 원격에 대한 URL이 맞는지 확인하고, 필요하다면 제거하고 올바른 URL로 이 원격 저장소를 재생성 합니다.


증상 : No refs in common and none specified; doing nothing. Perhaps you should specify a branch such as 'master'.

원인 : 이 오류는 git push 명령을 수행할 때 분기를 명시하지 않았거나, Git에서 사용되는 push.default 값을 설정하지 않았을 때 발생할 수 있습니다.

해결방법 : master 분기를 명시하고, 아래와 같이 push 명령을 수행합니다.

git push azure master

증상 : src refspec [branchname] does not match any.

원인 : 이 오류는 원격 'azure'에 마스터 이외의 분기에 push 하려고 하는 경우에 발생할 수 있습니다.

해결방법 : master 분기를 명시하고, 아래와 같이 push 명령을 수행합니다.

git push azure master

증상 : Error - Changes commited to remote repository but your website not updated.

원인 : 추가로 필요한 모듈이 명시된 package.json 파일을 포함하는 Node.js 응용 프로그램을 배포하는 경우에 이러한 오류가 발생할 수 있습니다.

해결방법 : 'npm ERR!'을 포함하는 추가 메시지가 이 오류 이전에 기록되어야 하고, 그래야 에러에 대한 추가적인 컨텍스트를 제공받을 수 있습니다. 아래와 같은 내용이 해당 오류와 'npm ERR!' 메시지의 원인으로 알려져 있습니다.

  • 잘못된 package.json 파일: npm ERR! Couldn't read dependencies.
  • 윈도우용 바이너리 배포본이 없는 네이티브 모듈:

    • npm ERR! 'cmd "/c" "node-gyp rebuild"' failed with 1
      또는
    • npm ERR! [modulename@version] preinstall: 'make || gmake'

추가 자료


authored by


 
 
.NET과 Java 동영상 기반의 교육사이트

로딩 중입니다...

서버 프레임워크 지원 : NeoDEEX
based on ASP.NET 3.5
Creative Commons License
{5}
{2} 읽음   :{3} ({4})