'jenkins'에 해당되는 글 2건

  1. 2020.03.10 Jenkins Plugin Manager SSLHandshakeException
  2. 2020.02.17 Github & Jenkins 연동

Jenkins 설치후 Plugin을 설치하려고 Plugin Manager로 가면 다음과 같은 오류가 발생할 수 있다.

 

There were errors checking the update sites: SSLHandshakeException: sun.security.validator.ValidatorException

 

Manage Jenkins -> Manage Plugin 으로 이동해서 Advanced 탭을 클릭한다.

 

그러면 다음 Update Site의 URL이 https로 되어 있을 것이다.

 

http로 변경하고 Submit 버튼을 클릭하자.

 
Posted by Lumasca
,

 

1.Jenkins 설정

 

먼저 빌드할 프로젝트를 생성한다.

-설치후 생성한적이 없다면 아래 화면을 보게될 것이다. Create a job 을 클릭해서 진행한다.

-아니면 왼쪽 메뉴에서 New Item을 클릭한다.

 

 

프로젝트 이름을 입력하고 'Freestyle project'를 선택하고 OK를 클릭한다.

 

프로젝트가 생성되고 화면이 바뀐다.

GitHub project에 체크하고, Github의 레파지토리 URL주소를 입력한다. 

다음으로 Source Code 관리에서는 Git을 선택하고 Repository URL을 입력한다.

Git Clone할때 사용하는 .git으로 끝나는 주소이다.

다음은 Credentials 인데 Github repository에 접근하기 위해 Github 계정정보를 설정해줘야 한다.

위 화면에서 Add 버튼을 클릭하면 아래 다이얼로그가 팝업된다.

 

Username과 Password를 입력하고 Add 버튼을 클릭한다. 

그리고 none이 표시된 콤보박스를 클릭하면 추가한 계정정보가 보인다. 선택하도록 한다.

 

Branch 는 기본값이 master이다. 다른 branch를 사용하려면 수정한다.

Build Triggers 에서 [GitHub hook trigger for GITScm polling]을 체크한다.

이것이 Github에서 온 메세지를 수신하면 빌드를 수행하기 위한 것이다.

 

Build 는 Invoke Gradle을 선택하고 Gradle Version을 선택한면 된다. 

Tasks는 IDE에서 빌드할때 사용한 Task중에서 필요한 것만 추가하도록 한다. 

 

선택할 Gradle Version이 없으면 설정을 해야 한다. Jenkins 관리 >> Global Tool Configuration 항목을 클릭한다.

Tasks는 기본적으로 spring 프로젝트는 'clean build'를 안드로이드는 'clean assembleRelease' 로 입력하면 된다.

 

spring build task에서 테스트를 제외하려면 'clean build --exclude-task test' 로 작성한다.

 

디버깅을 위해 '--info', '--debug', '--stacktrace' 도 추가할 수 있다.

 

 

 

Global Tool Configuration 화면에서 중간에 보면 Gradle 항목이 있다. 

'Add Gradle' 버튼을 클릭하고 name을 입력하고, Install automatically에 체크한 뒤 저장한다.

여기 name에 저장한 이름이 위 Build 구성의 Gradle Version 항목에 추가된다. 

Save 버튼을 눌러서 저장한다.

 


Jenkins Server 공개키 준비하기

 

보통 공개키는 기존에 생성해 둔게 있을 것이다. 보통 홈디렉터리 .ssh폴더에 id_rsa.pub 라는 이름으로 생성되어 있다.

 

없으면 ssh-keygen으로 생성하면 된다. RSA알고리즘을 이용하며, 현재는 key size가 최소 2048bit이상, 4096bit를 추천한다.

생성하는 것은 간단하다. 다음 명령처럼 해주면 된다.

 

$ssh-keygen -t rsa -b 4096


2.GitHub webhook 설정하기

 

Jinkins 서버의 공개키를 Github에 등록해야 한다. 

한 프로젝트의 Deploy Keys에 등록하면 다른 프로젝트에 등록할때 이미 사용중이라고 오류가 나기때문에 Github 설정에서 등록하는 방법을 사용한다.

Github 메뉴(우측 상단에 계정아이콘 클릭하면 노출된다)에서 Settings를 클릭한다.

 

 

터미널에서 Jenkins 서버의 계정 홈디렉토리로 이동한다.

.ssh 폴더(숨김폴더)로 이동해서 id_rsa.pub 내용을 복사한다.

$cd .ssh

$cat id_rsa.pub 

위 명령을 실행하면 파일 내용이 출력된다.

ssh-rsa 로 시작하는데 전체 내용을 복사하도록 한다.

 

New SSH key를 클릭하면 값을 입력하는 창이 노출된다. 입력창에 위에서 복사한 공개키를 붙여넣는다.

 

이제 프로젝트의 Settings 탭으로 이동한 후, 왼쪽메뉴에서 webhooks을 클릭한다.

그리고 오른쪽의 Add webhook버튼을 클릭한다.

Payload URL은 https://$jenkins_URL/github-webhook 을 입력한다. github-webhook 문자열은 고정이다. 마지막에 '/'를 추가한다.

Content type은 "application/json"을 선택한다.

하단의 Add webhook 버튼을 클릭하여 저장한다.

 

모든 설정이 끝났다. Jenkins에서 프로젝트를 빌드를 한번 하도록 한다. 그래야 webhook이 동작한다.

 

이제 테스트를 해보자.

 

Github 의 Webhooks에 다시 진입한다.

Update webhook 버튼을 클릭하면 Jenkins로 webhook을 전달한다. 그러면 Jenkins에서 빌드를 수행할 것이다.

 

프로젝트 빌드후 조치 추가

lumasca.tistory.com/580

 

'개발 > 개발도구' 카테고리의 다른 글

Jenkins 빌드후 이벤트 Publish over SSH 설정  (0) 2020.03.11
Jenkins Plugin Manager SSLHandshakeException  (0) 2020.03.10
Git remove pushed file  (0) 2020.02.18
Git undo push  (0) 2020.02.17
SQLiteSpy  (0) 2009.09.27
Posted by Lumasca
,