젠킨스 깃허브 웹훅 자동빌드 설정, 17/17 AWS EC2 JENKINS 스프링부트 자동배포

 

 

Webhook은 Github에 Push되면 Jenkins가 배포하도록 하는 기능입니다.

젠킨스에 빌드/배포/재시작까지 설정되어있으니까

웹훅만 걸어주면 완전한 자동배포가 됩니다.

 

개발자 Push > Github WebHooks > Jenkins Build > Server Restart

 

 

1. 젠킨스 > Jenkins 관리 > 설치가능 > GitHub Intergration 체크

(이미 깔려있으면 패스)

 

 

2. GitHub Intergration 플러그인 설치

 

 

3. 프로젝트 Github > Settings > Webhooks > Add webhook

 

 

 

4. Payload URL에 주소 입력

http://탄력적IP:포트/github-webhook/

 

 

developer.github.com/changes/2019-03-29-webhooks-ip-changes/

 

Webhook IP addresses are changing

Get started with one of our guides, or jump straight into the API documentation.

developer.github.com

 

 

5. AWS EC2 > 인스턴스 > 보안그룹 > 인바운드 허용

Github가 EC2의 Jenkins를 호출해야 되서, 젠킨스 포트를 허용해줘야 합니다.

8090은 자신의 젠킨스 접속 포트, IP주소는 Github서버들의 IP입니다.

8090	140.82.112.0.20
8090	192.30.252.0/22

 

 

6. 소스 Commit > Push

 

 

7. 프로젝트 Github > Settings > Webhooks > 하단에 전송상태 확인

 

 

 

8. 젠킨스 > 빌드히스토리에 저절로 빌드되는지 확인

 

 

9. 브라우저로 스프링부트 프로젝트 확인

 

젠킨스에 깃허브 연동, 빌드 - 13/17 AWS EC2 JENKINS 스프링부트 자동배포

 

 

이번에는 젠킨스에 새로운 아이템을 생성해서 Github에서 소스를 받아서 jar파일을 생성해보겠습니다.

그리고 서버에서 스프링부트 프로젝트를 실행하면 수동으로 배포가 완료됩니다.

 

 

1. 젠킨스 > 새로운 Item

 

 

2. 이름 입력 (저는 springboot로 입력했습니다)

 

 

3. 소스 코드 관리 > Git 선택

 

 

 

4. 깃허브 > Code > Clone > HTTPS > 주소 복사

 

 

5. Repository URL에 복사한 주소 입력 > Credentials > Add > Jenkins

 

 

6. Github 계정정보 입력 > Add

Domain: Global credentials (unrestricted)
Kind: Username with password
Scope: Global (Jenkins, nodes, items, all child items, etc)
Username: 깃허브아이디(이메일주소)
Password: 깃허브비밀번호

 

 

7. Branch Specifier (blank for 'any') 에 */master 입력 > 저장

다른 브랜치가 있으면 다른것을 입력해도 됩니다.

 

 

 

8. 젠킨스 > Item > Build Now

 

 

9. 콘솔 출력 확인

첫 빌드때는 프로젝트에 필요한 jar파일을 다운받느라고 좀 느립니다.

 

 

10. EC2 > 빌드된 jar 확인

springboot는 젠킨스에서 생성한 Item이름입니다.

cd /var/lib/jenkins/workspace/springboot/target
ls -l

 

2020. 10. 3. 17:39 ANDROID IOS
안드로이드 그래들 변경, Upgrade Gradle wrapper to 2.6 version and re-import the project, Android Upgrade Gradle Version

깃허브에서 받은 프로젝트를 돌려볼라고 했는데,

그래들 2.6은 삭제되었다고 에러가 발생했습니다.

해결하려면 그래들을 최신 버전으로 변경해주면 됩니다.
(오래된 프로젝트 소스라면 이부분 말고도 더 많이 변경해야할 수 있습니다...)

 

Support for builds using Gradle versions older than 2.6 was removed in tooling API version 5.0. You are currently using Gradle version 2.2.1. You should upgrade your Gradle build to use Gradle 2.6 or later.

Possible solution:
 - Upgrade Gradle wrapper to 2.6 version and re-import the project

 

 

1. 프로젝트 > gradle > wrapper > gradle-wrapper.properties 파일 열기

 

 

2. gradle-x.x.x.zip > gradle-6.3-all.zip 으로 수정

distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-all.zip

 

 

3. 그래들 싱크, Load Gradle Changes, Ctrl+Shift+O

2020. 9. 24. 09:51 ANDROID IOS
안드로이드 그래들 오류, Could not initialize class org.codehaus.groovy.runtime.InvokerHelper, Android Gradle Error
Could not initialize class org.codehaus.groovy.runtime.InvokerHelper

하라는 빌드는 안하고 이런 오류가 발생하면서 멈출때가 있습니다.

저같은 경우에는 그래들 버전이랑 자바버전이랑 안맞아서 발생했습니다.

 

 

1. gradle\wrapper\gralde-wrapper.properties
그래들 버전이 6.1.1입니다.

지금 최신버전인 6.3으로 변경

distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip

distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-all.zip

 

 

2. Project Structure > Project Settings > Project
Project SDK가 자바 11로 되어있습니다.

14버전으로 변경

ㅁㄴㅇㄹ

 

3. gradle\wrapper\gralde-wrapper.properties

파일을 열고 그래들 싱크

Gradle Sync: Ctrl+Shift+O

 

 

빌드 됨

 

최근에 올라온 글

최근에 달린 댓글