Jenkins, Git, GitHub로 클라우드 배포 쉽게 실습하기



Jenkins, Git, GitHub로 클라우드 배포 쉽게 실습하기

제가 직접 경험해본 결과로는 Git과 GitHub, Jenkins를 활용하여 소스를 관리하고 AWS에 자동 배포하는 과정이 매우 유익했어요. 여기서는 이러한 실습 과정에 대해 상세히 알려드립니다. 이 글을 통해 Jenkins와 GitHub를 연동하여 효율적으로 배포할 수 있는 방법에 대해 알아보겠습니다.

개발 환경 구축을 위한 사전 준비

제가 직접 체크해본 바로는, 개발 환경을 준비하기 위해 몇 가지 필수 작업이 필요해요. 이를 통해 안정적인 클라우드 배포를 준비할 수 있답니다.

 

👉 ✅ 상세정보 바로 확인 👈

 



  1. EC2 키 파일 준비

  2. EC2 인스턴스를 생성한 후, SSH 접속을 위한 키 파일을 확보해야 해요.

  3. 이 키 파일을 ppk에서 pem 형식으로 변환해야 하는 작업이 필요합니다.

2. PyCharm 설치 및 설정

  • 개발자 환경을 구축하기 위해 PyCharm을 설치하고, Python 및 HTML 개발을 위해 필요한 라이브러리를 설정해야지요.
  • IDE에서 직접 코딩할 수 있는 편리함이 좋아요.

3. Git과 GitHub 설정

  • Git을 사용해 로컬 소스 코드를 관리한 후, GitHub에 푸시하여 원격 저장소에 업로드합니다.
  • GitHub와 Jenkins는 웹훅(Webhook)을 통해 긴밀하게 연결되므로 사전 설정이 매우 중요해요.

이러한 설정 사항들을 충실히 준비했으니, 이제 본격적으로 Jenkins와 배포 과정을 살펴보도록 할게요.

Jenkins에서 GitHub 연동 및 배포 설정

Jenkins를 통해 자동화된 배포 과정을 진행하기 위해서는 몇 가지 설정이 필요하답니다. 아래의 과정을 통해 안정적인 연동을 보장할 수 있어요.

1. Jenkins에 플러그인 설치하기

  • Jenkins 대시보드에서 ‘Jenkins 관리’를 클릭한 후, ‘Plugin Manager’로 이동합니다.
  • Publish Over SSH 플러그인을 찾아 설치해 주세요.
  • 설치 후 서버를 재시작해야 모든 기능이 정상 작동한답니다.

2. SSH Key 설정하기

  • EC2 인스턴스에 접근할 수 있도록 SSH 키 파일을 Jenkins 서버에 올려 놓아야 해요.
  • chmod 400 키파일 명령어를 통해 키 파일의 권한을 설정한 후, SSH 접속 테스트를 진행합니다.
  • 성공적으로 접속이 확인되면 Jenkins 초기 설정을 진행할 수 있어요.

3. Jenkins 시스템 설정 수정하기

  • Jenkins 대시보드에서 Jenkins 관리 -> 시스템 설정 -> Publish over SSH 옵션으로 이동합니다.
  • SSH 서버 정보를 등록하고, 키 파일 내용을 붙여넣고 저장해야 해요.

이렇게 설정이 완료되면, 코드의 변경 사항을 자동으로 감지하여 AWS에 배포할 준비가 된답니다.

파이프라인 설정과 배포 테스트 진행

이제 Jenkins 파이프라인을 통해 실제 배포 테스트를 진행해 볼게요.

1. 파이프라인 구성하기

  • Jenkins에서 파이프라인을 선택하고, 새 프로젝트를 생성한 후, 빌드 후 조치에서 ‘Send build artifacts over SSH’ 옵션을 선택합니다.
  • 필요한 모든 정보 (Remote directory, Exec command)를 입력하여 설정을 완성합니다.

2. 로컬 소스 코드 작성 및 커밋

  • 개발 환경에서 HTML 소스를 작성한 후, Git을 통해 커밋하고 푸시합니다.
  • 이로 인해 GitHub 저장소에 코드가 업데이트되면 Jenkins가 자동으로 이를 감지해요.

3. Jenkins 빌드 확인 및 배포 결과 확인

  • GitHub에서 소스 코드가 정상적으로 로드되는지 확인하고, Jenkins의 동작 결과를 모니터링합니다.
  • EC2 서버에 접속하여 실제 웹페이지가 정상적으로 업로드 되었는지 최종 확인합니다.

이 모든 과정이 맞물려 자동화된 배포가 이루어지는데요, 이때 신경 써야할 점은 각 과정이 원활히 작동하기 위해서는 모든 설정과 권한이 제대로 되어 있어야 한다는 것이에요.

실습 결과 및 피드백

앞서 살펴본 실습 과정을 통해 각 모듈이 어떻게 연결되고 배포되는지를 쉽게 이해할 수 있었습니다. 제가 직접 체크해본 바로는 한 번의 설정으로 여러 번 재사용할 수 있어 효율적이었어요. 각 단계에서 발생할 수 있는 이슈도 미리 고려하여 점검하는 것이 좋습니다.

체크리스트

아래 표를 통해 전체 프로세스를 마지막으로 확인해보세요.

단계상태
EC2 키 파일 준비완료
PyCharm 설치 및 설정완료
Git 및 GitHub 설정완료
Jenkins 플러그인 설치완료
SSH 키 설정완료
파이프라인 구성완료
로컬 소스 커밋 및 푸시완료
Jenkins 빌드 및 배포 확인완료

이러한 과정을 통해 간단하면서도 강력한 클라우드 배포 환경을 구축할 수 있다니 참 기쁘죠!

자주 묻는 질문 (FAQ)

Git과 GitHub의 차이는 무엇인가요?

Git은 버전 관리 시스템이고, GitHub는 Git을 이용한 원격 저장소와 소스 공유 플랫폼이에요.

Jenkins는 어떻게 코드 배포를 자동화하나요?

Jenkins는 CI/CD 도구로, 코드의 변경 사항을 감지하여 자동으로 배포를 진행해요.

AWS EC2 사용 시 주의할 점은?

EC2 인스턴스를 설치할 때 보안 그룹과 키 페어를 잘 설정하는 것이 중요해요.

SSH 키 파일은 어떻게 생성하나요?

SSH 키 파일은 ssh-keygen 명령어로 생성할 수 있으며, .pem 형식으로 저장할 수 있어요.

무엇보다 중요한 것은 각 설정이 적절히 이루어지는 것과 체계적인 복습이에요. 실습 과정에서 도움이 되었기를 바라며, 다음엔 좀 더 심화된 내용을 다뤄보도록 할게요!

키워드: Jenkins, Git, GitHub, AWS, 클라우드, EC2, CI/CD, 배포 자동화, 버전 관리, SSH, 개발 환경