프로그래밍 관련/GitHub&Git&SourceTree

젠킨스 개념 및 기초

존버매니아.임베디드 개발자 2024. 2. 7. 00:40
반응형

[Jenkins] 🤵 젠킨스 설치 & 설정하기 - 초간단 설명 - https://inpa.tistory.com/entry/Jenkins-%F0%9F%A4%B5-%EC%A0%A0%ED%82%A8%EC%8A%A4-%EC%84%A4%EC%B9%98-%EC%84%A4%EC%A0%95

 

[Jenkins] 🤵 젠킨스 설치 & 설정하기 - 초간단 설명

젠킨스(Jenkins) 란? 젠킨스는 소프트웨어 개발 시 지속적으로 통합 서비스를 제공하는 툴이다. 모든 언어의 조합과 소스 코드 레포지토리에 대한 지속적인 통합(Continuous integration, CI)과 지속적 배

inpa.tistory.com


젠킨스의 기본 역할  : 서버 역할을 할 수 있는 프로그램이다.
내 컴퓨터에 젠킨스를 설치하고 서버로 동작시켜놓으면,

다른 사람들이 내 컴퓨터에 설치된 젠킨스와 서로  명령을 주거나 서비스를 제공 받을 수 있음.

웹브라우저에서 젠킨스 서버를 실행시킨 나의 pc ip주소와 젠킨스에 할당된 포트 주소 입력하면

홈페이지 같이 인터페이스가 나타남.
실제로 회원가입 요청하거나 로그인하는 것도 가능함.

 

젠킨스는 엄청나게 많은 플러그인이 개발되어있다.
이런 플러그인을 활용해서 외부의 다양한 요소로부터 정보를 주고받을 수 있음

Ex) 깃허브의 Repository에 누군가 Commit 을 하면. 그 이벤트를 젠킨스가 감지 할 수 있음


젠킨스는 사용자가 지정한 어떤 이벤트가 발생하면,

사용자가 셋팅해놓은 커맨드 명령을 수행시키는 도구이다.

 

정확한 설명은 아니지만, 대강의 느낌만 설명하면.

젠킨스가 관리하는 특정 폴더에 아래와 같은 Text 파일을 넣어놓는다.

그리고 그 파일에 아래와 같이 적어놓고. 젠킨스를 실행시킨다.

 

Ex) 

이벤트1 :

echo "젠킨스 : 대답합니다"

 

이벤트2 :

echo" 젠킨스 : 이벤트2 발생"

 

이벤트3:

bat  ./TestBat.bat

 

그러면 젠킨스가 어떤 이벤트가 발생했는지를 감시하고 있다가

예를 들어 이벤트1번이 발생하면. 본인 컴퓨터의 CMD 창에 " 젠킨스: 대답합니다." 라는 문장을 출력하는 것이다.

예를 들어 3번 이벤트가 발생하면, 젠킨스가 설치된 컴퓨터에 설치된 TestBat.bat 배치파일을 실행한다.


위에서 이벤트1, 이벤트2, 이벤트3이라고 표현했는데
젠킨스는 빗버킷, GitHub등과 손쉽게 연동이 된다.
그래서 개발자들이 빗버킷, GitHub 등에 커밋을 하거나 어떤 요청을 했을때.
그것을 젠킨스가 감지해서 이벤트로 인식하는게 가능하다.

 

예를 들어.

깃허브의 어떤 Repository에 누군가가 Commit 을 하면,  프로젝트 멤버에게 메일을 발송하는 환경을 꾸미고 싶다면?

 

해당 Repository 에서 누군가 Commit 한 것을. 젠킨스의 이벤트로 등록한다.

(등록하는 방법은 나중에 설명)

 

그리고 해당 이벤트가 발생했을 때,

프로젝트 멤버에게 메일을 발송하는 기능을 배치파일, Python 등을 활용해서 자동화 코드로 구현해놓은 후.

젠킨스가 그 배치파일이나 파이썬 코드를 실행시키도록 환경을 구성 하면 된다.

 

한편, 빗버킷 GitHub로부터 어떤 이벤트를 전달받을 뿐만 아니라,
반대로 젠킨스가 빈버킷, GitHub에게 어떤 명령을 날리는 것도 가능하다. Confluence 랑도 연동하는게 가능하다.

젠킨스는 다양한 플러그인이 있기 때문에, 이것들을 활용하면

 

예를 들어 빗버킷에 누군가가 Commit을 하면,

해당 커밋에 대한 결과물을 Build 한후, 빌드 결과물을 특정 Confluence에 Upload 시키기.

이런 작업도 가능해진다.


젠킨스를 활용해서 빌드 환경에서 여러가지 요소를 자동화 할 수 있다.

그런데, 이 때 자동화 작업 자체를 젠킨스가 하는건 아니다.

자동화 작업 자체는 배치파일, Python Code 등으로 별도로 사용자가 구현을 해놔야되는거고.

젠킨스는 외부로부터 어떤 이벤트를 받았을 때, 그 배치파일 이나 파이썬 코드를 실행시키는 역할만 해주는 것이다.

 

아래는 대강의 동작 구조

반응형