단일 서버 파이프라인 실전 적용
모든 프로젝트가 매니지드 클라우드 플랫폼에서 돌아가는 건 아니야. VPS 배포, 자체 호스팅 서버, 서버 군 관리, 홈랩 작업에서는 SSH 기반 배포가 솔직하고 믿을 만해. 보통 이런 패턴을 따르지.
- SSH 개인 키를 저장소 비밀값에 저장해.
- CI 환경에서 권한을 엄격하게 설정한 임시 파일에 키를 써.
ssh나rsync로 연결해서 배포 스크립트를 실행해.
아니면 패키지 액션을 써도 좋아. 명령을 실행할 땐 appleboy/ssh-action, 파일을 동기화할 땐 burnett01/rsync-deployments를 쓰면 돼.
SSH 키 관리 수칙
- CI 전용으로 새 키를 만들어. 개인 키는 절대 재사용하지 마.
- 대상 서버의 authorized_keys 항목을
command="...",from="github-runner-ip-range"또는 둘 다로 제한해. - 주기적으로 키를 교체해.
- MITM 공격을 막으려면 CI에서
~/.ssh/known_hosts에 호스트를 추가해.