Docker를 사용하여 Jenkins 서버 설정

Dockerleul Sayonghayeo Jenkins Seobeo Seoljeong



Jenkins는 애플리케이션 구축, 테스트 및 배포를 포함하여 소프트웨어 개발 프로세스의 다양한 부분을 자동화하는 데 도움이 되는 널리 사용되는 오픈 소스 자동화 서버입니다.

Docker는 컨테이너라고 알려진 격리된 환경에서 애플리케이션과 서비스를 실행할 수 있게 해주는 컨테이너화 플랫폼입니다.







이 튜토리얼에서는 Jenkins를 Docker와 결합하여 확장 가능하고 이식 가능한 Jenkins 서버를 만드는 방법을 알아봅니다.



참고: 이 튜토리얼에서는 Docker Hub 저장소의 공식 jenkins/jenkins 이미지를 사용합니다. 이 이미지에는 프로덕션 준비가 완료된 Jenkins의 현재 LTS(장기 지원) 릴리스가 포함되어 있습니다.



네트워크 생성

첫 번째 단계는 Jenkins 인스턴스를 격리하기 위해 새로운 Docker 네트워크를 만드는 것입니다. 이는 더 나은 의사소통을 촉진합니다.





Docker에서 브리지된 네트워크를 생성하려면 다음 명령을 실행하면 됩니다.

$ 도커 네트워크가 젠킨스를 생성합니다.


이렇게 하면 Jenkins라는 브리지 네트워크가 생성됩니다.



Jenkins Docker 컨테이너 실행

네트워크가 구성되면 공식 Jenkins Docker 이미지를 사용하여 Jenkins 컨테이너를 실행할 수 있습니다.

또한 네트워크를 지정하고 Jenkins 데이터 지속성을 위한 볼륨을 구성합니다. 명령은 다음과 같습니다:

도커 실행 \
--이름 젠킨스-도커 \
--rm \
--분리하다 \
--특권 \
--회로망 젠킨스 \
--네트워크 별칭 도커 \
--env DOCKER_TLS_CERTDIR = / 인증서 \
--용량 젠킨스-도커-인증서: / 인증서 / 고객 \
--용량 젠킨스 데이터: / ~였다 / 젠킨스_홈 \
--게시 2376 : 2376 \
도커:\에서
--스토리지 드라이버 오버레이2



이전 명령은 상승된 권한과 네트워킹 구성을 사용하여 'jenkins-docker'라는 DinD(Docker-in-Docker) 컨테이너를 시작합니다.

–rm 플래그는 컨테이너가 중지될 때 자동으로 제거되도록 보장합니다. 컨테이너는 이전 단계에서 생성된 대로 'docker'라는 네트워크 별칭을 사용하여 Jenkins 네트워크에 연결됩니다.

그런 다음 Docker TLS 인증서에 대한 환경 변수를 설정하고 인증서 저장소 및 Jenkins 데이터에 대한 볼륨을 탑재합니다.

다음 섹션에서는 Docker 데몬 통신을 위해 포트 2376을 게시합니다.

마지막으로 docker:dind 이미지를 지정하고 overlay2를 사용하도록 스토리지 드라이버를 구성합니다.

Jenkins 웹 UI에 액세스

컨테이너를 시작하면 다음을 사용하여 웹 브라우저에서 Jenkins 인스턴스에 액세스할 수 있습니다. 주소.

간단한 Jenkins 컨테이너를 실행하려면 다음 명령을 사용할 수 있습니다.

$ 도커 실행 -디 -피 8080 : 8080 -피 50000 : 50000 --이름 젠킨스 \
--회로망 젠킨스 \
-안에 젠킨스_홈: / ~였다 / 젠킨스_홈 \
젠킨스 / 젠킨스:이거


이는 볼륨, 바인딩 포트 등과 같은 다른 기능을 구성할 필요 없이 Jenkins 서버를 실행합니다.

그런 다음 Jenkins 인스턴스에 액세스할 수 있습니다. .


Jenkins가 준비되면 브라우저를 통해 원하는 속성으로 Jenkins 서버를 빠르게 구성할 수 있습니다.

설정이 완료되면 관리자 비밀번호를 지정하여 Jenkins를 잠금 해제해야 합니다. 다음 명령을 실행하여 찾을 수 있습니다.

$ 도커 로그 젠킨스


이 명령은 Jenkins 비밀번호가 포함된 컨테이너의 로그를 표시합니다.




다음 단계는 Jenkins 인스턴스에 사용하려는 플러그인을 선택하고 설치하는 것입니다. Jenkins를 처음 사용하는 경우 권장 플러그인을 선택하세요.


이를 통해 Jenkins는 Jenkins 파이프라인과 쉽게 상호 작용할 수 있는 모든 기본 플러그인을 다운로드하고 설치할 수 있습니다.

결론

이 튜토리얼에서는 Docker와 공식 Jenkins 이미지를 사용하여 Jenkins 서버를 컨테이너로 설정하는 방법을 배웠습니다.