개발 환경
계정 정보
프로젝트 운영에 필요한 각종 계정 정보를 기록, 관리한다.
사무실 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|pbcopygithub 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" }}