AWS CodeCommit 정보

4600 단어 CodeCommitAWS

CodeCommit이란?



AWS에서 제공하는 관리형 소스 제어 서비스.
Git의 표준 기능이 지원되며 Git에서 마이그레이션하기 쉽습니다.
또한 CodeCommit 리포지토리와 GitHub 및 GitLab 리포지토리를 미러링하는 것도 가능합니다.

CodeCommit에 대한 저장소 작성 절차


  • AWS Management Console에서 CodeCommit 콘솔에 액세스합니다.
  • リポジトリの作成를 누릅니다.

  • 다음 정보를 입력하고 作成를 누릅니다.
    리포지토리 이름: 임의의 문자열
    설명 : : 임의의 문자열
    태그 : : 임의

  • 자동으로 리포지토리 페이지로 전환하고 成功가 표시되면 생성 완료.


  • CodeCommit에 연결하는 방법



    사전 준비



    로컬 PC에서 CodeCommit 리포지토리에 연결하려면 AWS Management Console에서 Git 자격 증명을 만들어야 합니다.
    자세한 내용은 공식 가이드을 참조하십시오.
    그 작성 방법은 이하. (IAM 사용자 생성 및 Git 설치는 완료된 전제입니다.)
    여기서는 HTTPS로 접속하기위한 인증 정보를 작성하는 방법을 설명한다.
  • AWS Management Console에서 IAM 콘솔에 액세스합니다.
  • 대상 사용자의 상세 화면으로 이동하고 認証情報 탭에서 AWS CodeCommit の HTTPS Git 認証情報認証情報を生成를 누릅니다.


  • 자격 증명이 자동으로 생성되므로 표시된 자격 증명을 삼가거나 証明書のダウンロード를 눌러 csv 파일로 저장합니다.


  • CodeCommit에 연결 및 조작



    전술 한 사전 준비가 완료되면, 일반 Gi 조작과 마찬가지로 CodeCommit 리포지토리에 대해서도 git clonegit commit 등을 행할 수있다.
    초기 조작시에 인증 정보의 입력이 요구되기 때문에, 사전 준비로 지불 한 인증 정보를 입력하면된다.

    GitHub와 CodeCommit의 연계 방법



    CodeCommit은 GitHub와 GitLab과 미러링을 할 수 있습니다.
    여기서, GitHub와의 미러링에 대하여 설명한다.

    설정 절차



    GitHub와의 미러링을 수행하는 설정 절차를 보여줍니다.
    거친 흐름으로서,
  • SSH 키 만들기
  • AWS에 공개 키 등록
  • GitHub 리포지토리의 Secrets 설정
  • GitHub Actions 설정

  • 된다.

    SSH 키 생성 및 AWS에 공개 키 등록



    다음 명령을 실행하여 SSH 키를 만듭니다.
    패스프레이즈는 반드시 하늘에서 작성한다.
    ssh-keygen -t rsa -b 4096 -C "GitHubアカウントのメールアドレス"
    

    SSH 키를 만든 후 IAM 콘솔에서 대상 IAM 사용자에게 공개 키를 연결합니다.AWS CodeCommit の SSH キーSSH パブリックキーのアップロード에서 만든 XXX_rsa.pub의 내용을 업로드합니다.


    GitHub 리포지토리에 대한 Secrets 설정



    미러링에는 GitHub Actions를 사용하기 때문에, GitHub의 Actions secrets에 이하의 2개를 설정해 둔다.
    변수명은 임의.
  • SSH 비밀 키
    이름: CODECOMMIT_SSH_PRIVATE_KEY
    Value: SSH 키 개인 키(작성한 XXX_rsa)의 내용 붙여넣기
  • SSH 키 ID
    이름: CODECOMMIT_SSH_PRIVATE_KEY_ID
    Value: SSH 키 ID(공개 키를 AWS에 연결했을 때 표시되는 SSH 키 ID[APKA…])



  • GitHub Actions 설정



    Secrets 설정까지 완료되면 GitHub 리포지토리에 GitHub Actions 워크플로를 등록합니다..github/workflows/main.yml를 만들고 다음 내용으로 저장합니다.
    name: Mirroring
    
    on: [ push, delete ]
    
    jobs:
      to_codecommit:
        runs-on: ubuntu-18.04
        steps:
          - uses: actions/checkout@v1
          - uses: pixta-dev/repository-mirroring-action@v1
            with:
              target_repo_url:
                ssh://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/xxxxx
              ssh_private_key:
                ${{ secrets.CODECOMMIT_SSH_PRIVATE_KEY }}
              ssh_username:
                ${{ secrets.CODECOMMIT_SSH_PRIVATE_KEY_ID }}
    
    target_repo_url의 값은 대상 CodeCommit 리포지토리의 SSH URL로 변경됩니다.
    이것에 의해, GitHub에의 푸시를 계기로서 CodeCommit에의 미러링이 자동적으로 행해지게 된다.

    좋은 웹페이지 즐겨찾기