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官方安装文档。

配置实例:

[[email protected] ~]# 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 中查找到:

[[email protected] ~]# 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[email protected]{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 [email protected]{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.[email protected]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.[email protected]47fafdbc]: org.s[email protected]4bc62933
May 22, 2019 2:37:13 AM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
INFO: Pre-instantiating singletons in org.s[email protected]4bc62933: defining beans [authenticationManager]; root of factory hierarchy
May 22, 2019 2:37:13 AM org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Refreshing org.[email protected]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.[email protected]4c2b95b7]: org.s[email protected]630931a0
May 22, 2019 2:37:13 AM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
INFO: Pre-instantiating singletons in org.s[email protected]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

将密码粘贴后,点击确定,到一下一个页面:

在下个页面中可以选择插件,并安装:

开始安装:

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

到此,安装完成。

界面如下:

原文地址:https://www.cnblogs.com/yyxianren/p/10904518.html

时间: 2024-08-04 21:56:54

docker 部署 jenkins的相关文章

docker部署Jenkins,以及在Jenkins中使用宿主机的docker/docker-compose命令

使用最新的官方镜像jenkins/jenkins 第一次使用的docker部署jenkins的时候,出现了两个问题: 1.因为用户权限问题挂载/home/jenkins/data到/var/jenkins_home挂载不了.后面通过修改data目录的所属用户可以解决,即在容器下查询用户id(1000),然后把data改成同样的用户id 2.即便挂载docker命名和docker.sock,也修改了相应的权限,仍存在libltdl7没有权限读取.当然好像也不影响使用,只是在容器里面执行docker

Ubuntu系统下基于docker部署Jenkins环境

本文是在ubuntu环境下安装jenkins,jenkins运行在docker容器中, 至于docker如何安装,请参考https://www.cnblogs.com/xingyunqiu/p/11584066.html Jenkins官网文档:https://jenkins.io/zh/doc/ 使用命令从镜像仓库拉取指定文件,我这里用的是jenkins:lts这个版本:如果需要其他版本 注意,由于我是基于docker容器化部署Jenkins,所以不需要安装jdk环境 sudo docker

【实战练习】通过docker部署jenkins

jenkins官网 :https://jenkins.io/ 拉取jenkins Official Jenkins Docker image [[email protected]-172-31-16-58 ec2-user]# docker pull jenkins/jenkins Using default tag: latest latest: Pulling from jenkins/jenkins 06b22ddb1913: Pull complete 336c28b408ed: Pul

使用Docker部署Jenkins

由于Docker的普及,刚好目前团队需要Jenkins自动发布环境,于是决定把使用Docker来运行Jenkins服务. 环境:Centos7 安装Docker: systemctl install docker 运行Docker systemctl start docker 拉镜像: docker pull docker.io/jenkinsci/jenkins run镜像: docker run -i -t -d -p 1001:8080 -p 50000:50000 -v /home/ma

Docker的Jenkins Pipeline工作流

原文地址:http://www.youruncloud.com/blog/127.html 分享主题 一个软件产品的开发周期中,尤其是敏捷开发,持续集成和持续部署是必不可少的环节,而随着产品的丰富,模块的增多.随即带来了更加多的问题,各模块间编译环境的准备,编译复杂,耗时增加,还需要专人去负责这个流程.而Jenkins则可以很好的解决这个单一而容易出错的CI(持续集成)工作. Jenkins也存在着编译环境不隔离的问题,虽然可以通过集群的方式解决,可是需要为每种环境甚至是一种语言的不同版本准备多

在Docker Centos上部署Jenkins(包含Jenkins汉化)

环境: 本机 - macOS 10.12.6 Docker - Docker Community Editoin_ Version 17.06.0-ce-mac19(安装步骤见另一篇) 使用的Docker镜像: centos (latest) 安装步骤: 1.新建并启动一个centos docker容器 tester_mac:~ $  docker run -itd --privileged --name=jenkins -p 4000:4000 centos /usr/sbin/init --

部署Jenkins+docker集成环境

环境: 主机(mac osx)和虚拟机(Ubuntu 16.04) mac osx系统,运行Jenkins Ubuntu16.04系统,运行docker(用Ubuntu14.04镜像创建一个docker) tips: 1.Jenkins运行在哪个环境都可以(这里运行在osx系统) 2.Jenkins创建的node(slave),launch slave agents on Unix machines via SSH(通过SSH远程登陆Unix,这里的Unix环境是用Ubuntu14.04镜像创建

docker下部署jenkins

Jenkins https://jenkins.io https://hub.docker.com/r/jenkins/jenkins/ 拉取镜像 #53上的docker jenkins #必须要给jenkins用户组1000权限 #jenkins:x:1000:1000::/home/jenkins:/bin/bash sudo docker run -itd -p 8080:8080 -p 50000:50000 --name jenkins --privileged=true --rest

构建Docker+Jenkins持续集成环境

docker和Jenkins不是什么新东西了,两者结合也不是什么稀奇的事情,也已经有很多Jenkins和docker相结合的文章,此文仅为自己的一点心得实践,如有不对的地方,欢迎大家纠正. 先贴上大致的流程图,逐步说明: 代码-Git: 并没有什么好说明的,就是简单的使用了Git作为版本控制工具而已,通用使用规范不在细说.此步的产出:Git分支特定版本号 Git-自动构建.自动构建-代码包: 做法也很通用了,将project的Git钩子同Jenkins结合,达到特定分支有push时机触发自动构建