CircleCI에서 Github private repository를 npm module로 사용하기

Summary 현재 공통적인 모듈을 Git으로 따로 관리하여 npm private module로 사용한다. 또한 Webpack을 사용하여 Typescript로 작성된 서버를 번들링한다. 로컬에서는 모두 정상적으로 동작하지만 CircleCI에서 빌드할 경우에는 CircleCI의 권한이 해당 repository에 대한 권한만 가지고 있기 때문에 npm private module을 가져올 수가 없다. 이와같은 문제를 해결하기 위해서 트러블 슈팅을 하였다. Problem npm install을 할 때에 github에 있는 repository를 사용하는 방법은 두가지가 있다. https ssh ssh로 사용할 경우 관련 명령어는 다음과 같다. # ssh 키 생성하기 $ ssh-keygen -f id_rsa_kh -C "" # 생성한 키를 ~/.ssh 에 추가하기 $ cp id_rsa_kh ~/.ssh/id_rsa_kh # 생성한 키의 권한 수정하기 $ chmod 600 ~/.ssh/id_rsa_kh # 생성한 키의 퍼블릭 키를 출력하기. 이때 받은 키를 github private repo에 ssh키를 추가하여야 한다. $ cat id_rsa_kh.pub # ssh의 개인키 개수 확인하기 $ ls -al ~/.ssh/ # ssh-agent 실행하기 $ eval "$(ssh-agent -s)" # ~/.ssh 디렉터리에 있는 개인키를 모두 ssh agent에 등록하기 $ grep -slR "PRIVATE" ~/.ssh/ | xargs ssh-add # 현재 등록되어 있는 ssh key의 fingerprint 확인하기 $ ssh-add -l -E md5 위와 같이 키를 입력하였으면 이제 npm install을 해본다. ...

May 16, 2018 2 min

나만의 private docker registry 구성하기.

Summary Docker hub에 private image를 올리는 것은 제한이 있다. 개인 사용자의 경우 하나의 이미지만 private이 가능하고 organization의 경우에는 비용을 지불해야만 사용이 가능하다. 이러한 제약은 여러 개의 private 이미지를 관리해야 하는 개발 환경에서 큰 불편함으로 다가온다. 따라서 우리만의 private registry 환경을 직접 구축할 필요성이 생긴다. 이 글에서는 EC2에 개인 registry를 구축하고, local 또는 다른 원격 서버에서 접근하는 방법을 단계별로 살펴보겠다. 또한 이미지 저장소로 Amazon S3를 연동하여 확장 가능한 구조를 만들어볼 것이다. ...

April 9, 2017 11 min