Skip to content

개발 환경

계정 정보

프로젝트 운영에 필요한 각종 계정 정보를 기록, 관리한다.

사무실 VPN

  • OVPN 설정파일을 사용해 Tunnelblick 등으로 사용
  • 계정은 망내 라우터 설정에서 추가 필요하므로, @mj-sknk 에게 요청할 것

환경 정의

  • development dev: 로컬 서버 (개인 PC)
  • staging stg: 스테이징 서버 (사무실 개발 서버)
  • production prd: 운영 서버 (실서버)

환경별 접근 규칙 SSH KEY

  • 깃헙에 등록한 개인 키는 각자 관리한다. 예) https://github.com/mozodev.keys
  • 스테이징 환경에는 모든 구성원의 깃헙 공개키로 접근할 수 있다.
  • 운영 환경은 개별 키를 생성, 관리한다. (AWS: pem키, 없으면 생성?)
  • 배포는 main 브랜치에 머지하면 github action 으로?
# 프로젝트별 운영 환경에서 키 생성
$ mkdir -p ~/.ssh && chmod 700 ~/.ssh && touch ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys
$ ssh-keygen -t ed25519 -C "sknkwoxs@orgs.noreply.github.com" -f ~/.ssh/dcdcenter-prod -N ""
$ cat ~/.ssh/dcdcenter-prod >> ~/.ssh/authorized_keys
# 개인 ssh priavte key base64 인코딩 복사 on mac terminal
$ cat ~/.ssh/id_rsa|base64|pbcopy
$ cat ~/.ssh/id_ed25519|base64|pbcopy

github codespace

위의 코드스페이스 비밀 추가 화면에서 new secret 버튼 클릭 후 name => SSH_KEY, value => 북붙하고 사용할 레포지토리 지정 후 저장한다.

devcontainer.json
{
"image": "mcr.microsoft.com/devcontainers/universal:2",
"features": {
"ghcr.io/ddev/ddev/install-ddev:latest": {}
},
"postCreateCommand": {
// 깃헙 사용자 비밀에서 환경 변수로 노출된 ssh key를 코드스페이스 사용자 홈 화면 .ssh 디렉토리에 파일로 추가한다.
".ssh": "mkdir -p ~/.ssh && ssh-keyscan github.com >> ~/.ssh/known_hosts",
".ssh/private_key": "echo $SSH_KEY|base64 --decode > ~/.ssh/$SSH_KEY_NAME && chmod 600 ~/.ssh/$SSH_KEY_NAME"
}
}