docker 部署 jenkins


  建議使用的Docker映像是jenkinsci/blueocean image(來自 the Docker Hub repository)。 該鏡像包含當前的長期支持 (LTS) 的Jenkins版本 (可以投入使用) ,捆綁了所有Blue Ocean插件和功能。

部署方法:

docker run \
  -u root \
  --name jenkins \
  -d \
  -p 8080:8080 \
  -p 50000:50000 \
  -v jenkins-data:/var/jenkins_home \
  -v /var/run/docker.sock:/var/run/docker.sock \
  jenkinsci/blueocean

參數說明:

--name jenkins         (可選)指定容器名稱

-d                (可選)jenkinsci/blueocean 在后台運行容器(即“分離”模式)並輸出容器ID。如果您不指定此選項, 則在終端窗口中輸出正在運行的此容器的Docker日志。

-p 8080:8080        映射jenkinsci/blueocean 容器的端口8080到主機上的端口8080。 第一個數字代表主機上的端口,而最后一個代表容器的端口。如果您為此選項指定 -p 49000:8080 ,您將通過端口49000訪問主機上的Jenkins。

-p 50000:50000        可選)將 jenkinsci/blueocean 容器的端口50000 映射到主機上的端口50000。 如果您在其他機器上設置了一個或多個基於JNLP的Jenkins代理程序,而這些代理程序又與 jenkinsci/blueocean 容器交互(充當“主”Jenkins服務器,或者簡稱為“Jenkins主”), 則這是必需的。默認情況下,基於JNLP的Jenkins代理通過TCP端口50000與Jenkins主站進行通信。

-v jenkins-data:/var/jenkins_home        (可選,但強烈建議)映射在容器中的`/var/jenkins_home` 目錄到具有名字 jenkins-data 的volume。 如果這個卷不存在,那么這個 docker run 命令會自動為你創建卷。 如果您希望每次重新啟動Jenkins(通過此 docker run ... 命令)時保持Jenkins狀態,則此選項是必需的 。 

-v /var/run/docker.sock:/var/run/docker.sock        (可選 /var/run/docker.sock 表示Docker守護程序通過其監聽的基於Unix的套接字。 該映射允許 jenkinsci/blueocean 容器與Docker守護進程通信, 如果 jenkinsci/blueocean 容器需要實例化其他Docker容器,則該守護進程是必需的。 

jenkinsci/blueocean        jenkinsci/blueocean Docker鏡像本身。如果此鏡像尚未下載,則此 docker run 命令 將自動為您下載鏡像。此外,如果自上次運行此命令后發布了此鏡像的任何更新, 則再次運行此命令將自動為您下載這些已發布的鏡像更新。 注意:這個Docker鏡像也可以使用以下 docker pull命令獨立下載(或更新) : docker pull jenkinsci/blueocean

  此安裝方法取自jenkins官方安裝文檔。

 

配置實例:

[root@localhost ~]# docker run \
>   -u root \
>   --name jenkins \
>   -d \
>   -p 8080:8080 \
>   -p 50000:50000 \
>   -v jenkins-data:/var/jenkins_home \
>   -v /var/run/docker.sock:/var/run/docker.sock \
>   jenkinsci/blueocean
Unable to find image 'jenkinsci/blueocean:latest' locally
latest: Pulling from jenkinsci/blueocean
bdf0201b3a05: Pull complete 
9e12771959ad: Pull complete 
018b76c3c533: Pull complete 
fb7916dfb471: Pull complete 
efeeaeb1034e: Pull complete 
9d0828dae329: Pull complete 
93c94dc28c28: Pull complete 
51c9f4cab046: Pull complete 
1529253d9fb0: Pull complete 
0308c8ef7639: Pull complete 
e701e5d6451c: Pull complete 
3a0b79c07d56: Pull complete 
28c17bce8836: Pull complete 
d1e02b0dadf5: Pull complete 
2a22db2a9af0: Pull complete 
Digest: sha256:6cb529ad8c56539e4480a567a1b86a1926fa667de55db6fb4e795e13af6509f7
Status: Downloaded newer image for jenkinsci/blueocean:latest
1ac2c92cf7b2b4c58cab5c17046683da6be5781ba31b6c7b9533f24c0f89b190

打開web管理頁面:

密碼可以從docker logs 中查找到:

[root@localhost ~]# docker logs jenkins
Running from: /usr/share/jenkins/jenkins.war
webroot: EnvVars.masterEnvVars.get("JENKINS_HOME")
May 22, 2019 2:36:57 AM org.eclipse.jetty.util.log.Log initialized
INFO: Logging initialized @485ms to org.eclipse.jetty.util.log.JavaUtilLog
May 22, 2019 2:36:57 AM winstone.Logger logInternal
INFO: Beginning extraction from war file
May 22, 2019 2:36:59 AM org.eclipse.jetty.server.handler.ContextHandler setContextPath
WARNING: Empty contextPath
May 22, 2019 2:36:59 AM org.eclipse.jetty.server.Server doStart
INFO: jetty-9.4.z-SNAPSHOT; built: 2018-08-30T13:59:14.071Z; git: 27208684755d94a92186989f695db2d7b21ebc51; jvm 1.8.0_212-b04
May 22, 2019 2:36:59 AM org.eclipse.jetty.webapp.StandardDescriptorProcessor visitServlet
INFO: NO JSP Support for /, did not find org.eclipse.jetty.jsp.JettyJspServlet
May 22, 2019 2:36:59 AM org.eclipse.jetty.server.session.DefaultSessionIdManager doStart
INFO: DefaultSessionIdManager workerName=node0
May 22, 2019 2:36:59 AM org.eclipse.jetty.server.session.DefaultSessionIdManager doStart
INFO: No SessionScavenger set, using defaults
May 22, 2019 2:36:59 AM org.eclipse.jetty.server.session.HouseKeeper startScavenging
INFO: node0 Scavenging every 660000ms
Jenkins home directory: /var/jenkins_home found at: EnvVars.masterEnvVars.get("JENKINS_HOME")
May 22, 2019 2:37:00 AM org.eclipse.jetty.server.handler.ContextHandler doStart
INFO: Started w.@7689ddef{Jenkins v2.164.3,/,file:///var/jenkins_home/war/,AVAILABLE}{/var/jenkins_home/war}
May 22, 2019 2:37:00 AM org.eclipse.jetty.server.AbstractConnector doStart
INFO: Started ServerConnector@1df98368{HTTP/1.1,[http/1.1]}{0.0.0.0:8080}
May 22, 2019 2:37:00 AM org.eclipse.jetty.server.Server doStart
INFO: Started @3346ms
May 22, 2019 2:37:00 AM winstone.Logger logInternal
INFO: Winstone Servlet Engine v4.0 running: controlPort=disabled
May 22, 2019 2:37:01 AM jenkins.InitReactorRunner$1 onAttained
INFO: Started initialization
May 22, 2019 2:37:03 AM jenkins.InitReactorRunner$1 onAttained
INFO: Listed all plugins
May 22, 2019 2:37:10 AM jenkins.InitReactorRunner$1 onAttained
INFO: Prepared all plugins
May 22, 2019 2:37:10 AM jenkins.InitReactorRunner$1 onAttained
INFO: Started all plugins
May 22, 2019 2:37:12 AM jenkins.InitReactorRunner$1 onAttained
INFO: Augmented all extensions
May 22, 2019 2:37:12 AM jenkins.InitReactorRunner$1 onAttained
INFO: Loaded all jobs
May 22, 2019 2:37:12 AM hudson.model.AsyncPeriodicWork$1 run
INFO: Started Download metadata
May 22, 2019 2:37:12 AM hudson.util.Retrier start
INFO: Attempt #1 to do the action check updates server
May 22, 2019 2:37:13 AM org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Refreshing org.springframework.web.context.support.StaticWebApplicationContext@47fafdbc: display name [Root WebApplicationContext]; startup date [Wed May 22 02:37:13 GMT 2019]; root of context hierarchy
May 22, 2019 2:37:13 AM org.springframework.context.support.AbstractApplicationContext obtainFreshBeanFactory
INFO: Bean factory for application context [org.springframework.web.context.support.StaticWebApplicationContext@47fafdbc]: org.springframework.beans.factory.support.DefaultListableBeanFactory@4bc62933
May 22, 2019 2:37:13 AM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@4bc62933: defining beans [authenticationManager]; root of factory hierarchy
May 22, 2019 2:37:13 AM org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Refreshing org.springframework.web.context.support.StaticWebApplicationContext@4c2b95b7: display name [Root WebApplicationContext]; startup date [Wed May 22 02:37:13 GMT 2019]; root of context hierarchy
May 22, 2019 2:37:13 AM org.springframework.context.support.AbstractApplicationContext obtainFreshBeanFactory
INFO: Bean factory for application context [org.springframework.web.context.support.StaticWebApplicationContext@4c2b95b7]: org.springframework.beans.factory.support.DefaultListableBeanFactory@630931a0
May 22, 2019 2:37:13 AM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@630931a0: defining beans [filter,legacy]; root of factory hierarchy
May 22, 2019 2:37:13 AM jenkins.install.SetupWizard init
INFO: 

*************************************************************
*************************************************************
*************************************************************

Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:

afc3cd17d54d40379d9c880d21af457d

This may also be found at: /var/jenkins_home/secrets/initialAdminPassword

*************************************************************
*************************************************************
*************************************************************

May 22, 2019 2:37:24 AM hudson.model.UpdateSite updateData
INFO: Obtained the latest update center data file for UpdateSource default
May 22, 2019 2:37:25 AM hudson.model.DownloadService$Downloadable load
INFO: Obtained the updated data file for hudson.tasks.Maven.MavenInstaller
May 22, 2019 2:37:25 AM hudson.util.Retrier start
INFO: Performed the action check updates server successfully at the attempt #1
May 22, 2019 2:37:25 AM hudson.model.AsyncPeriodicWork$1 run
INFO: Finished Download metadata. 12,955 ms
May 22, 2019 2:37:26 AM hudson.model.UpdateSite updateData
INFO: Obtained the latest update center data file for UpdateSource default
May 22, 2019 2:37:26 AM jenkins.InitReactorRunner$1 onAttained
INFO: Completed initialization
May 22, 2019 2:37:26 AM hudson.WebAppMain$3 run
INFO: Jenkins is fully up and running

將密碼粘貼后,點擊確定,到一下一個頁面:

在下個頁面中可以選擇插件,並安裝:

開始安裝:

安裝完成后輸入必要的配置信息,界面如下:

到此,安裝完成。

界面如下:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM