EC2에 git clone하는 방법

4011 단어 EC2GitLabAWS
EC2에 코드를 배포할 때 git clone를 사용하면 쉽게 배포할 수 있습니다.
어쩐지 절차를 기억하고 있지만, 어디선가 잊고 있는 경우도 있으므로, 방법을 정리해 둡니다.
  • Amazon Linux 2의 방법입니다.
  • 리포지토리는 GitLab을 사용합니다.

  • SSH Key 만들기


    git clone를 실행하려면 GitLab와 SSH로 통신해야 합니다.
    SSH 키용 디렉토리로 이동하여 SSH 통신에 사용할 키를 만듭니다.
    $ cd ~/.ssh
    $ ssh-keygen -t rsa -C "[Gitlabで登録したEmail]"
    

    명령을 실행하면 세 가지 질문을 받지만 Enter 세 번 OK입니다.
    Generating public/private rsa key pair.
    Enter file in which to save the key (/Users/(username)/.ssh/id_rsa):
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    

    생성된 키에 권한 부여



    명령이 성공적으로 완료되면 id_rsa, id_rsa.pub라는 두 개의 파일을 사용할 수 있습니다.id_rsa는 개인 키라는 매우 중요한 키이므로 적절한 권한이 부여되어야 합니다.

    다음 명령을 사용하여 권한을 부여합니다.
    $ sudo chmod 600 id_rsa
    

    GitLab에 키 등록



    리포지토리와 통신하려면 생성된 키id_rsa.pub를 GitLab에 등록하고 활성화해야 합니다.

    1. id_rsa.pub를 열고 문자열을 복사합니다.
      ( ssh-rsa... 곳에서 전부 복사합니다)
    $ cat id_rsa.pub
    ssh-rsa AAA....1yc2EAAAADAQABAA........../j21AEwVC1i/+SBcQgTvccQd......
    

    2. Gitlab의 SSH Keys 메뉴를 클릭하고 키를 붙여넣고 Add Key를 클릭합니다 (SSH Keys는 User Settings에 있습니다).


    SSH 통신 확인



    지금까지 설정이 완료되면 EC2에서 GitLab에 대한 통신을 확인합니다.
    $ ssh -T [email protected]
    
    Welcome to GitLab, @XXXXXX!가 표시되면 통신할 수 있습니다.

    git clone 실행



    다음 명령을 실행하여 리포지토리를 Clone합니다.
    $ git clone [email protected]:XXX/TTT.git
    

    이제 GitLab 리포지토리에서 코드를 검색할 수 있습니다.

    잘 안 갈 때,,,



    위의 설정을 수행해도 git clone가 작동하지 않을 수 있습니다.
    이런 오류가 나거나,,,
    Cloning into 'Project Name'...
    Permission denied (publickey).
    fatal: Could not read from remote repository.
    

    이 경우 다음 두 가지 사항을 확인해 보십시오.
  • git clone 명령이 sudo없이 실행 중입니까?
  • sudo를 사용하여 명령을 실행하면 루트로 실행되기 때문에 확실히 작성한 키를 사용할 수 없을 수 있습니다.


  • Clone하려는 디렉토리가 ec2-user:ec2-user 입니까?
  • ec2-user에 쓰기 권한이 없는 디렉토리에는 Clone 할 수 없기 때문에, 거기도 의외로 맹점이기도 합니다.

  • 좋은 웹페이지 즐겨찾기