[DevOps] Jenkins를 통한 CI/CD 구축기 2편 (Backend CI/CD 구축)
mkdir ~/jenkins-data
# sudo docker run -d --name jenkins -p 8080:8080 jenkins/jenkins:jdk17
# sudo docker run -d --name jenkins -p 7000:8080 \\
# -v /home/ubuntu/jenkins-data:/var/jenkins_home jenkins/jenkins:jdk17
docker run -d --name jenkins -p 7000:8080 \\
-v /home/ubuntu/jenkins-data:/var/jenkins_home \\
-v /var/run/docker.sock:/var/run/docker.sock \\
jenkins/jenkins:jdk17

d: 컨테이너를 데몬으로 띄운다.-name: 컨테이너의 이름을 jenkins로 설정한다p 7000:8080: 컨테이너의 외부와 통신할 포트(앞의 값)를 내부적으로 사용할 포트(뒤의 값)를 포워딩해준다.v : 설치될 위치 지정sudo docker logs jenkins

ubuntu@ip-172-26-12-143:~$ sudo docker logs jenkins
Running from: /usr/share/jenkins/jenkins.war
webroot: /var/jenkins_home/war
2024-07-23 06:36:27.859+0000 [id=1] INFO winstone.Logger#logInternal: Beginning extraction from war file
2024-07-23 06:36:28.868+0000 [id=1] WARNING o.e.j.s.handler.ContextHandler#setContextPath: Empty contextPath
2024-07-23 06:36:28.929+0000 [id=1] INFO org.eclipse.jetty.server.Server#doStart: jetty-10.0.21; built: 2024-05-14T02:26:29.142Z; git: 12306d38ad57ba40dfb2b850a2900ff2de8e0357; jvm 17.0.11+9
2024-07-23 06:36:29.162+0000 [id=1] INFO o.e.j.w.StandardDescriptorProcessor#visitServlet: NO JSP Support for /, did not find org.eclipse.jetty.jsp.JettyJspServlet
2024-07-23 06:36:29.204+0000 [id=1] INFO o.e.j.s.s.DefaultSessionIdManager#doStart: Session workerName=node0
2024-07-23 06:36:29.617+0000 [id=1] INFO hudson.WebAppMain#contextInitialized: Jenkins home directory: /var/jenkins_home found at: EnvVars.masterEnvVars.get("JENKINS_HOME")
2024-07-23 06:36:29.715+0000 [id=1] INFO o.e.j.s.handler.ContextHandler#doStart: Started w.@4d8286c4{Jenkins v2.468,/,file:///var/jenkins_home/war/,AVAILABLE}{/var/jenkins_home/war}
2024-07-23 06:36:29.726+0000 [id=1] INFO o.e.j.server.AbstractConnector#doStart: Started ServerConnector@4e858e0a{HTTP/1.1, (http/1.1)}{0.0.0.0:8080}
2024-07-23 06:36:29.733+0000 [id=1] INFO org.eclipse.jetty.server.Server#doStart: Started Server@a202ccb{STARTING}[10.0.21,sto=0] @2363ms
2024-07-23 06:36:29.738+0000 [id=26] INFO winstone.Logger#logInternal: Winstone Servlet Engine running: controlPort=disabled
2024-07-23 06:36:29.965+0000 [id=34] INFO jenkins.InitReactorRunner$1#onAttained: Started initialization
2024-07-23 06:36:29.990+0000 [id=33] INFO jenkins.InitReactorRunner$1#onAttained: Listed all plugins
2024-07-23 06:36:30.721+0000 [id=34] INFO jenkins.InitReactorRunner$1#onAttained: Prepared all plugins
2024-07-23 06:36:30.724+0000 [id=34] INFO jenkins.InitReactorRunner$1#onAttained: Started all plugins
2024-07-23 06:36:30.728+0000 [id=36] INFO jenkins.InitReactorRunner$1#onAttained: Augmented all extensions
2024-07-23 06:36:30.886+0000 [id=35] INFO jenkins.InitReactorRunner$1#onAttained: System config loaded
2024-07-23 06:36:30.886+0000 [id=35] INFO jenkins.InitReactorRunner$1#onAttained: System config adapted
2024-07-23 06:36:30.886+0000 [id=35] INFO jenkins.InitReactorRunner$1#onAttained: Loaded all jobs
2024-07-23 06:36:30.888+0000 [id=35] INFO jenkins.InitReactorRunner$1#onAttained: Configuration for all jobs updated
2024-07-23 06:36:30.929+0000 [id=52] INFO hudson.util.Retrier#start: Attempt #1 to do the action check updates server
2024-07-23 06:36:31.335+0000 [id=32] INFO jenkins.install.SetupWizard#init:
*************************************************************
*************************************************************
*************************************************************
Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:
**b96c9a8af08249f987d590a3d4610ff7**
This may also be found at: /var/jenkins_home/secrets/initialAdminPassword
*************************************************************
*************************************************************
*************************************************************
2024-07-23 06:36:35.767+0000 [id=36] INFO jenkins.InitReactorRunner$1#onAttained: Completed initialization
2024-07-23 06:36:35.782+0000 [id=25] INFO hudson.lifecycle.Lifecycle#onReady: Jenkins is fully up and running
2024-07-23 06:36:36.493+0000 [id=52] INFO h.m.DownloadService$Downloadable#load: Obtained the updated data file for hudson.tasks.Maven.MavenInstaller
2024-07-23 06:36:36.493+0000 [id=52] INFO hudson.util.Retrier#start: Performed the action check updates server successfully at the attempt #1
cd ~/jenkins-data
# 설치 전 docker의 jenkins 홈디렉터리와 마운트해둔 폴더로 이동
mkdir update-center-rootCAs
# 인증서 설치 폴더 생성
wget <https://cdn.jsdeliver.net/gh/lework/jenkins-update-center/rootCA/update-center.crt> -O ./update-center-rootCAs/update-center.crt
# 인증서 설치
docker restart jenkins
# 재시작하여 인증서 반영

