반응형
젠킨스를 안 써본 사람? 바로 나다.
구직 시기에 CI/CD 파이프라인을 미리 경험해 보자는 생각을 갖고 있었는데, 아직까지도 해본 적이 없다. 😱
늦었을 때가 가장 늦은 법. 지금이라도 한 번 해보고자 한다.
많고 많은 프로그램 중 왜 젠킨스를 사용해?
- CI/CD를 제공하는 서비스에는 깃허브 액션, 뱀부, 젠킨스 등이 있다.
- 뱀부는 유료라서 컷. 그럼 깃허브 액션과 젠킨스만 남게 된다.
- 구글링을 해보니 깃허브 액션은 굉장히 깃허브에 종속적이어서 단순하면서도 간편하게 관리를 할 수 있다. 또한 리소스에 따라서 유료가 될 수도 있다.
- 반면 젠킨스는 다소 어렵지만 유연하고, 완전 무료라는 장점이 있다. 또한 굉장히 오래된 서비스여서 레퍼런스도 많다.
- 결론적으로 도커 이미지 기반의 젠킨스를 결정했다. 대규모 프로젝트에 적합하다고 하는데, 레퍼런스만 충분하다면 공부하기에 더 좋다고 생각했다.
- 또한 깃허브 액션은 나중에 완전 상용으로 바뀌거나 무료 사용자에 제약사항이 늘어날 가능성이 있다고 생각했다.
이제 설치하시죠
Jenkins
Jenkins – an open source automation server which enables developers around the world to reliably build, test, and deploy their software
www.jenkins.io
- 각자 OS에 맞게 설치 진행하면 된다.
- 기본 포트번호는 8080이라고 하는데 다른 서비스와 겹칠 경우 jenkins.xml 파일을 수정하면 된다고 한다.
- 그런데 해보니 그전에 설치과정에서 포트번호 설정 할 수 있더라.
- 설치 시에 계정/패스워드 입력하는 화면이 있는데, 정상적으로 진행이 안 될 경우 Windows 관리 도구 - 로컬 보안 정책 - 로컬 정책- 사용자 권한 할당 - 서비스로 로그온 - 사용자 또는 그룹 추가에 윈도우 사용자 계정을 추가하면 된다.
- 그런데 윈도우 사용자 계정에 패스워드가 없다면 또 에러가 발생하니 제어판에서 패스워드를 추가하자.
- 설치가 다 되었다면 localhost:포트번호에 접속하여 로그인을 해주자.
- 화면 보면 알겠지만 설치하는 과정에서 등록한 패스워드 아니다.
- 빨간 줄의 경로에 있는 파일 본문을 복사해서 로그인하면 된다.
어우 설치만 해도 굉장히 복잡하다. 이제 빌드를 해보자.
깃허브 프로젝트 빌드 테스트
- 새로운 Item 메뉴를 클릭한다.
- 프로젝트명을 입력하고 Freestyle project를 선택하자.
- 그럼 이렇게 프로젝트와 레포지토리의 URL을 입력하는 란이 있다.
- 위 이미지를 참고해서 입력하면 된다.
- 본인은 기본 브랜치명으로 main을 사용해서 이것도 수정하였다.
- [지금 빌드] 버튼을 클릭하면 빌드가 진행된다.
- 요렇게 빌드 결과 및 정보를 확인할 수 있다.
- 빌드된 파일들은 C:\Users\사용자명\AppData\Local\Jenkins\.jenkins\workspace에 위치한다.
마치며
- 사실 우리들이 젠킨스를 사용하는 이유가 이렇게 단순하게 빌드만을 하기 위해서는 아닐 것이다.
- 다만 이번 포스팅을 통해서 다음 사실들을 알 수 있다.
- 젠킨스는 깃허브 원격 스토리지의 프로젝트를 빌드할 수 있다.
- 빌드한 파일들을 특정 경로에 위치시킬 수 있다.
- 가령 오라클 클라우드 내 인스턴스에서 프로젝트 빌드 자동화를 하려면 파이프라인을 통해 다음 과정을 따르게 될 것이다.
- 깃허브 웹훅을 통해 main 브랜치 병합 감지
- 도커파일을 통해 main 브랜치 빌드(컴파일, 테스트, 패키징)하여 도커 이미지 빌드
- 도커 이미지 도커 허브에 업로드
- 도커 이미지 실행
일단 수동으로 배포를 해보고.. 젠킨스 파이프라인을 구축해봐야겠다. 😋
이미지 출처
Jenkins
Jenkins – an open source automation server which enables developers around the world to reliably build, test, and deploy their software
www.jenkins.io
'개발' 카테고리의 다른 글
젠킨스로 CI/CD 파이프라인을 구축해보며 남은 것들 (7) | 2025.01.19 |
---|---|
우분투 서버에 프로젝트를 배포해보자 (4) | 2025.01.04 |
오라클 클라우드에서 무료로 제공하는 인스턴스를 사용해보자 (4) | 2024.12.22 |
JWT 개념 자세히 알아보자 (5) | 2024.12.15 |
Jira를 통해 프로젝트 일정을 관리하자 (4) | 2024.12.14 |