ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Jenkins 설치(docker image)
    기록해야 기억한다/OSS(Open Source Software) 2021. 7. 28. 16:58
    SMALL
    SMALL

    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

    댓글

Designed by Tistory.