

궁극적인 목표는 도커를 사용하는 환경에 젠킨스 배포

개발 팀에서 코드 개발하고, VCM/SCM에서 코드 저장한 뒤, 개발 환경에서 빌드 후 단위 테스트까지 이루어짐. 이 통합테스트가 끝나야 고객이 테스트하는 UAT로 넘어갈 수 있다. 그 이후 프로덕션으로 넘어간다
CI/CD 환경에서는 이 모든 작업을 자동으로 처리해서 넘어가게끔 구성을 한다
젠킨스 각 작업의 단위를 item이라고 한다. 이 item을 묶어서 파이프라인 만들고 이 파이프라인은 CD 구현을 위해 실제로 통합하는 과정을 포함한다.
DSL 이용해서 파이프라인 스크립트 쓴다.(Jenkinsfile, DSL이라한다 ex) Dockerfile)

-p 옵션: publish, 컨테이너 내부에 있는 포트를 컨테이너 바깥에 있는 환경에서 어떻게 접근해서 사용할지 결정하는 설정

-v 옵션 : 볼륨, 도커의 호스트 pc와 도커 내부 디렉토리 어떻게 마운트 할지 설정, 도커 내부 데이터 외부에 보관
즉, 도커 실행 되는 곳 외부에 해당하는 폴더 내용 연결해서 링크를 잡아 놓고 저장하는 것

-d 옵션 : 젠킨스를 백그라운드, 즉 데몬 형태로 가동하는 옵션


8080요청 들어오면 8080으로 보내고, 50000요청 들어오면 50000으로 보낸다.
데몬으로 실행할거다, 컨테이너 이름은 jenkins-server, 이미지는 디폴트 레파지토리에, jenkins프로젝트에 jenkins, 테그는 lts-jdk11
도커로 젠킨스 실행 후

젠킨스 컨테이너 로그 확인하면 패스워드 나와있다
이후
웹 브라우저에서 localhost/8080:8080으로 접속

한뒤 로그에 나와 있는 패스워드 입력




젠킨스 가동을 위해 jdk가 설치되어 있어야 한다
but, 도커 환경에서 젠킨스 이미지를 받아와서 컨테이너 실행을 지금 하고 있는데, 이 이미지에는 jdk가 포함되어 있는 상태라 괜찮다, 컨테이너 안에 설치 위치만 정해주자

docker exec -itu 0 {젠킨스 컨테이너 서버} /bin/bash로 젠킨스 서버 접속

jdk 경로가 /opt/java/openjdk에 설치되어 있음

이제 젠킨스 도커로 실행 준비 끝