아마존 라이트세일에 인스턴스를 만들어서 CI/CD 환경을 구축중에 있습니다.
Github Actions 를 통해 workflow 구성을 통해 자동빌드/배포 환경을 구성중인데 다양한 방법으로 구성을 할 수 있는 것 같습니다. S3 환경을 이용하시는 분들도 계시고 빌드 파일 자체를 바로 ssh 를 통해 AWS 서버로 보내서 구현하는 등 방법은 많은 듯 한데 아직 제가 원하는 깔끔한 구성은 못찾았고 빌드 과정에서 오류에 부딪혀서 헤매고 있습니다.
그런 와중에 라이트세일에서 제공해주는 브라우저 CLI 환경에서 git pull 명령어 입력 때마다 아아디와 토큰을 입력해야 하는 불편함으로 인해 서칭을 좀 진행했고 간단한 방법이 있어서 글을 남기고자 합니다.
git credential helper를 통해 아이디와 토큰 정보를 저장할 수 있습니다.
store 모드로 설정하게 될 경우 홈 디렉토리 아래에 .git-credentials 파일이 생성되며 git 로그인 시도를 하게 되면 계정정보가 해당 파일에 저장되어서 반영구적으로 아이디와 비밀번호 입력없이 git 명령어를 사용할 수 있습니다. 만약 해킹으로 인해 Home 디렉토리가 탈취되게 된다면 github 에 접근 가능한 아이디와 토큰 정보도 함께 탈취되므로 store모드는 보안에 취약할 수 있을 것 같습니다.
cache 모드로 설정하게 될 경우 timeout 지정된 시간만큼 사용할 수 있으며 시간은 초단위로 지정할 수 있습니다. 지정된 시간이 지난 이후에는 계정정보는 삭제되게 됩니다.
// store 모드
$ git config credential.helper store
// 지정시간 임시 보관 모드(초단위)
$ git config credential.helper 'cache timeout=3600'
저장된 계정 정보를 삭제하려면 아래 명령으로 삭제가 가능합니다.
$ git credential-cache exit
아래 사이트를 참고해 작성했으니 공식 메뉴얼을 확인하시어 잘못된 정보를 가져가는 일이 없으시기 바랍니다.
https://git-scm.com/book/ko/v2/Git-%EB%8F%84%EA%B5%AC-Credential-%EC%A0%80%EC%9E%A5%EC%86%8C