뭐든 즐기면서 ;)

Jenkins 자동배포 설정 1 - GitHub 연결 본문

서버/JENKINS

Jenkins 자동배포 설정 1 - GitHub 연결

Tada.*+ 2022. 9. 30. 19:37
728x90

Jenkins 자동배포

1. GitHub연결 & Github Webhook 등록

2. Maven 설정

3. pipleline 작성

1. private 저장소의 경우 token 생성

  • github 로그인 후 settings 창 이동

  • Developer settings 이동

  • Personal access tokens 이동하여 새 token 생성

 

  • 생성 완료

2. Credential 생성 (github 연동을 위한 사전 작업)

  • Jenkins 관리 > Manage Credentials

 

  • github token credentail 생성 : Jenkins > Global credentials (unrestricted) 드롭다운 || 클릭 > add credentail

  • credential 생성 작성하기 : Secret 부분에 token 입력 / ID (다음 과정에서 사용됨) > Creat

  • jenkins 관리 > 시스템 설정 > GitHub 영역 이동 > Add GitHub Server 설렉터 클릭 > Github server 선택
  • 아래와 같이 화면이 바뀜.
  • Name 작성 / Credentails 설렉터는 방금 위에서 생성한 credentail을 선택해 주면 됩니다.
  • Test connection > 성공 후엔 + Add 버튼 밑에 아래와 같은 메세지가 노출됩니다.
  • Credentials verified for user bhr0554, rate limit: 4999

  • Add Credentails : Kind = 위에서 생성한 credentail stor name & Secret = git token & ID

  • linux에 git 설치
> install git-all
  • git library 설정


Github Webhook 설정

Webhook 설정 후 Jenkins를 통하여 github에 수정된 소스를 remote server에 배포할 수 있게 끔 세팅합니다.

1. Deploy keys

  • jenkins를 설치한 remote server ssh접속을 합니다.
  • 서버의 공개키를 발행합니다.
# 공개키 발행
$ ssh-keygen

# 공개키 확인. 확인된 키를 Deploy key에 입력해 줍니다.
$ cat ~/.ssh/id_rsa.pub

  • 확인된 ssh키를 github에 등록해줍니다.
  • github repository로 이동하여 아래와 같이 진행해 줍니다.

  • Settings > Deploy keys
  • Title은 구분명이니 원하는대로 입력합니다.
  • key 부분에 remote server ssh 공개키를 입력합니다.
  • Add key를 눌러 등록해 줍니다.

2. github에 webhooks 등록

  • Settings > Webhooks > Add webhook

  • 작성
  • Payload URL : https://jenkinsURL/jenkins Item명 입력/
  • Content type : application/json

 

3. Jenkins project hook 설정

  • jenkins 프로젝트 > 구성
  • 빌드 유발 > GitHub hook trigger for GITScm polling 체크 후 저장

 

728x90
Comments