제조업 환경에서의 CI/CD 도입기 – Jenkins로 시작하는 자동화 여정
현재 내가 근무하는 기업은 제조업 분야로, 주로 임베디드 시스템 개발을 진행하며 C 언어를 주로 사용하고 있다. 하지만, 시대가 변하면서 나와 TL님의 마음속에는 **자동화와 CI/CD(지속적 통합/지속적 배포)**에 대한 강한 열망이 있었다.
이에 따라, 우리는 **“어렵더라도 해보자!”**라는 마음가짐으로 CI/CD 자동화를 도입하기로 결정했다.
(솔직히 말하면… 맨땅에 헤딩하는 느낌이다.)
1. 현재 상황 분석 – 자동화를 위한 우리의 선택지
현재 회사에서는 사내 GitLab을 사용하고 있으며, 서버 PC 1대가 지원된다. 이 환경에서 선택할 수 있는 자동화 방안은 다음과 같다.
1. Jenkins를 서버에 설치하여 CI/CD 환경 구축
2. GitLab의 내장된 CI/CD 기능 활용
우리는 먼저 Jenkins를 활용해 자동화 환경을 구축해 보기로 했다.
2. Jenkins 환경 구축 – 시작부터 난관 발생
첫 번째 단계로, 서버에 리눅스를 설치하려 했으나… 회사 정책상 리눅스 설치는 지원되지 않는다고 한다.
“1차 문제 발생… 윈도우에서 해결해야 한다!”
따라서, 우리는 Windows용 Jenkins를 설치하기로 결정했다.
Jenkins 다운로드 및 설치 방법
Jenkins는 공식 웹사이트에서 다운로드할 수 있다.
Download and deploy
Jenkins – an open source automation server which enables developers around the world to reliably build, test, and deploy their software
www.jenkins.io
설치를 진행하면서 몇 가지 중요한 포인트가 있었다.
1. Windows 설치 파일 다운로드
• Jenkins 공식 사이트에서 Windows용 설치 파일(.msi)을 다운로드한다.
2. Java 환경 설정
• Jenkins는 Java 8 또는 Java 11 환경에서 작동하므로, 사전에 설치가 필요하다.
• 일부 테스트 결과, OpenJDK 11을 사용하면 플러그인 설치 시 오류가 발생할 수 있어 주의가 필요하다.
• 참고 자료: 윈도우에서 Jenkins 설치하기
윈도우에서 젠킨스 설치 하기 - Install Jenkins For Window OS
윈도우에서 젠킨스 설치하기사전 준비사항Java 8 또는 Java 11의 환경이 필요(OpenJDK 11으로 시도해 보았는데 플러그인 설치에서 오류가 많이 발생)만약 오라클JDK를 사용하실 경우에는 JDK 유료화된
velog.io
3. 포트 설정
• Jenkins 설치 시 기본 포트는 8080이지만, 우리는 특별한 이유 없이 18080 포트로 변경했다.
• 포트 변경은 향후 충돌을 방지하고 특정 서비스 구분을 위해 유용하다.
설치 완료 및 Jenkins 접속
설치가 끝난 후 브라우저에서 다음 주소로 접속하면 Jenkins 대시보드를 확인할 수 있다.
http://localhost:18080
이제 본격적으로 Jenkins를 활용한 자동화 환경을 구축할 준비가 완료되었다!
3. Jenkins를 선택한 이유와 기대 효과
우리는 GitLab CI/CD 대신 Jenkins를 우선 선택했다. 그 이유는 다음과 같다.
• 커스터마이징 유연성: Jenkins는 다양한 플러그인과 설정이 가능해 맞춤형 파이프라인을 구성할 수 있다.
• 독립적인 운영: GitLab에 의존하지 않고 별도의 빌드 및 배포 환경을 구축할 수 있다.
• 커뮤니티 지원: 널리 사용되는 툴인 만큼 다양한 자료와 커뮤니티 지원을 받을 수 있다.
Jenkins 도입을 통해 기대하는 효과:
1. 자동화된 빌드 및 테스트 환경 구축
2. 배포 속도 향상 및 인적 오류 감소
3. CI/CD 파이프라인 구축을 통한 개발 효율성 증가
마무리 – CI/CD 구축의 첫걸음
Jenkins 설치를 완료하며, 이제 자동화 환경 구축의 첫걸음을 내디뎠다.
다음 단계에서는 Jenkins를 활용한 빌드 및 배포 자동화 구성에 대해 다룰 예정이다.
👉 다음 글 미리보기:
제조업 환경에서의 CI/CD 도입기 – GitLab을 활용한 자동화 여정
제조업 환경에서의 CI/CD 도입기 – GitLab을 활용한 자동화 여정
현재 내가 근무하고 있는 기업은 제조업 분야로, 주로 임베디드 시스템 개발을 진행하며 전통적인 C 언어를 사용하고 있다. 하지만, 개발 환경이 변화함에 따라 자동화와 CI/CD(지속적 통합/지
ph-biginner.tistory.com