-
Jenkins 설치(docker image)기록해야 기억한다/OSS(Open Source Software) 2021. 7. 28. 16:58
Jenkins 에서 잘 사용하지 않는 기능을 테스트를 할 일이 생겼다. 실제 팀환경에서 테스트할건 아니라서 docker 를 이용하기로 했다.
docker hub 의 공식 jenkins 이미지를 검색하면 https://hub.docker.com/_/jenkins 로 확인이 되고 해당 사이트를 접속하면
DEPRECATION NOTICE 가 우릴 반긴다...(제길..) 대략 내용은 '더이상 지원없으니 사용하지 마세요.' 이다.
더보기docker image 가 필요하신 분이면 그냥 docker pull jenkins/jenkins 을 통해 image pull 하면 됩니다.
아래쪽의 링크된 프로젝트 사이트를 통해 확인해보면 공식 repo 라고 따로 안내가 되어있으니 해당 repo 로 접근해야한다.(뭐가 다르겠어..라고 위의 image 를 했지만 플러그인등을 정상적으로 설치할 수 없다.)
해당 image 를 이용해 설치를 진행해보자.
$ docker pull jenkins/jenkins
컨테이너를 실행해보자. 그러면 아래와 같은 로그가 출력되고 'Completed initialization' 을 확인하면 정상적으로 실행이 된것이다.
$docker run -p 8080:8080 -p 50000:50000 jenkins/jenkins:latest Running from: /usr/share/jenkins/jenkins.war webroot: EnvVars.masterEnvVars.get("JENKINS_HOME") 2021-07-28 07:49:04.559+0000 [id=1] INFO org.eclipse.jetty.util.log.Log#initialized: Logging initialized @914ms to org.eclipse.jetty.util.log.JavaUtilLog 2021-07-28 07:49:04.743+0000 [id=1] INFO winstone.Logger#logInternal: Beginning extraction from war file 2021-07-28 07:49:05.712+0000 [id=1] WARNING o.e.j.s.handler.ContextHandler#setContextPath: Empty contextPath 2021-07-28 07:49:05.814+0000 [id=1] INFO org.eclipse.jetty.server.Server#doStart: jetty-9.4.41.v20210516; built: 2021-05-16T23:56:28.993Z; git: 98607f93c7833e7dc59489b13f3cb0a114fb9f4c; jvm 11.0.11+9 2021-07-28 07:49:06.370+0000 [id=1] INFO o.e.j.w.StandardDescriptorProcessor#visitServlet: NO JSP Support for /, did not find org.eclipse.jetty.jsp.JettyJspServlet 2021-07-28 07:49:06.490+0000 [id=1] INFO o.e.j.s.s.DefaultSessionIdManager#doStart: DefaultSessionIdManager workerName=node0 2021-07-28 07:49:06.490+0000 [id=1] INFO o.e.j.s.s.DefaultSessionIdManager#doStart: No SessionScavenger set, using defaults 2021-07-28 07:49:06.493+0000 [id=1] INFO o.e.j.server.session.HouseKeeper#startScavenging: node0 Scavenging every 660000ms 2021-07-28 07:49:07.265+0000 [id=1] INFO hudson.WebAppMain#contextInitialized: Jenkins home directory: /var/jenkins_home found at: EnvVars.masterEnvVars.get("JENKINS_HOME") 2021-07-28 07:49:07.656+0000 [id=1] INFO o.e.j.s.handler.ContextHandler#doStart: Started w.@61af1510{Jenkins v2.289.2,/,file:///var/jenkins_home/war/,AVAILABLE}{/var/jenkins_home/war} 2021-07-28 07:49:07.728+0000 [id=1] INFO o.e.j.server.AbstractConnector#doStart: Started ServerConnector@58fe0499{HTTP/1.1, (http/1.1)}{0.0.0.0:8080} 2021-07-28 07:49:07.729+0000 [id=1] INFO org.eclipse.jetty.server.Server#doStart: Started @4087ms 2021-07-28 07:49:07.738+0000 [id=23] INFO winstone.Logger#logInternal: Winstone Servlet Engine running: controlPort=disabled 2021-07-28 07:49:08.171+0000 [id=30] INFO jenkins.InitReactorRunner$1#onAttained: Started initialization 2021-07-28 07:49:08.235+0000 [id=30] INFO jenkins.InitReactorRunner$1#onAttained: Listed all plugins WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$2 (file:/var/jenkins_home/war/WEB-INF/lib/guice-4.0.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$2 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release 2021-07-28 07:49:10.057+0000 [id=30] INFO jenkins.InitReactorRunner$1#onAttained: Prepared all plugins 2021-07-28 07:49:10.073+0000 [id=30] INFO jenkins.InitReactorRunner$1#onAttained: Started all plugins 2021-07-28 07:49:10.091+0000 [id=28] INFO jenkins.InitReactorRunner$1#onAttained: Augmented all extensions 2021-07-28 07:49:11.016+0000 [id=28] INFO jenkins.InitReactorRunner$1#onAttained: System config loaded 2021-07-28 07:49:11.017+0000 [id=31] INFO jenkins.InitReactorRunner$1#onAttained: System config adapted 2021-07-28 07:49:11.018+0000 [id=29] INFO jenkins.InitReactorRunner$1#onAttained: Loaded all jobs 2021-07-28 07:49:11.019+0000 [id=29] INFO jenkins.InitReactorRunner$1#onAttained: Configuration for all jobs updated 2021-07-28 07:49:11.090+0000 [id=44] INFO hudson.model.AsyncPeriodicWork#lambda$doRun$0: Started Download metadata 2021-07-28 07:49:11.120+0000 [id=44] INFO hudson.util.Retrier#start: Attempt #1 to do the action check updates server 2021-07-28 07:49:12.137+0000 [id=30] 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: f81deaac5e0b4f8b8d50b821a9c87de1 This may also be found at: /var/jenkins_home/secrets/initialAdminPassword ************************************************************* ************************************************************* ************************************************************* 2021-07-28 07:49:30.531+0000 [id=31] INFO jenkins.InitReactorRunner$1#onAttained: Completed initialization
중간쯤에 ***** 사이에 있는 문자열이 admin 의 비밀번호이며 로그를 지나쳤으면 컨테이너에 접근하여(docker exec -it ~~~ /bin/bash 이용) 경로를 찾아가 /var/jenkins_home/secrets/initialAdminPassword 를 통해 확인할 수 있다.
"처음에 안내한 docker hub 최상위로 검색되는 공식이미지는 위의 절차까지는 성공적이나 플러그인 설치시에 오류로 더이상 진행이 안된다."
http://localhost:8080 에 접근하여 정상적으로 플러그인이 설치가 되면 아래와 같은 화면을 확인할 수 있다.
이제 내맘대로 플러그인이나 item 설정을 통해 테스트를 수행할 수 있다.
테스트를 한 내용이 잘되면 따로 글로 공유할 생각이다.
반응형LIST'기록해야 기억한다 > OSS(Open Source Software)' 카테고리의 다른 글
logback 에서의 rolling 정책 사용시 주의사항 (0) 2021.01.07 Cassandra 의 간략한 특징과 timestamp 에 대해 (0) 2020.12.16 Sonarqube - 정적 분석, Coverage (0) 2020.12.01 Apache Kafka 요약 (0) 2020.11.14