作为一款优秀的持续集成工具,jenkins在日常的项目中经常会用到,本次实战我们在docker下快速搭建一个Jenkins服务,并体验其项目构建能力;
实战环境
windows、mac、linux等系统,只要装了docker服务都可以作为实战环境,我用的是ubuntu16,安装的docker版本是:17.03.2-ce;
准备文件映射路径
jenkins的容器启动后,重要的文件我们希望能保存在当前电脑,否则容器被损坏或者删除后就找不回这些文件了,因此要在当前电脑上准备一个目录作为文件映射,注意文件夹权限问题,我这边准备的本机目录是/usr/local/work/jenkins,并且执行了chmod 777 /usr/local/work/jenkins以确保docker进程有权限读写此目录;
启动容器
- 在控制台执行以下命令,docker会去hub.docker.com下载最新的jenkins官方镜像,然后启动一个名为j01的容器,并且将容器的8080和50000端口直接映射到本机的8080和50000端口:
docker run -p 8080:8080 -p 50000:50000 -v /usr/local/work/jenkins:/var/jenkins_home --name j01 -idt jenkins
- 执行命令docker logs -f j01查看容器的控制台日志,看到如下信息表示jenkins服务启动成功:
Dec 31, 2017 6:29:24 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: f0f2e35d549f49b486b0ca2bdf3756d6 This may also be found at: /var/jenkins_home/secrets/initialAdminPassword ************************************************************* ************************************************************* ************************************************************* Dec 31, 2017 6:29:29 AM hudson.model.UpdateSite updateData INFO: Obtained the latest update center data file for UpdateSource default Dec 31, 2017 6:29:30 AM hudson.model.DownloadService$Downloadable load INFO: Obtained the updated data file for hudson.tasks.Maven.MavenInstaller Dec 31, 2017 6:29:30 AM hudson.model.UpdateSite updateData INFO: Obtained the latest update center data file for UpdateSource default Dec 31, 2017 6:29:30 AM hudson.WebAppMain$3 run INFO: Jenkins is fully up and running --> setting agent port for jnlp --> setting agent port for jnlp... done Dec 31, 2017 6:29:33 AM hudson.model.DownloadService$Downloadable load INFO: Obtained the updated data file for hudson.tools.JDKInstaller Dec 31, 2017 6:29:33 AM hudson.model.AsyncPeriodicWork$1 run INFO: Finished Download metadata. 11,856 ms
访问服务
-
我的LINUX电脑IP是192.168.119.155,在浏览器输入http://192.168.119.155:8080,即可访问到jenkins的服务,由于密码还没有设置,将会看到下图信息:
-
页面提示密码文件的位置:/var/jenkins_home/secrets/initialAdminPassword,由于我们已经将/var/jenkins_home目录映射到本机的/usr/local/work/jenkins目录,所以密码文件在当前电脑的位置是:/usr/local/work/jenkins/secrets/initialAdminPassword;
-
打开此文件后发现只有一行内容,复制后粘贴到页面唯一的输入框中,再点击右下角的”Continue”按钮;
-
在等待页面停留数十秒后,出现以下页面,左边按钮是直接安装推荐的插件配置,右边按钮是自己选择所需的插件,这里我们点击左边按钮,把推荐的插件装了:
-
如下图,jenkins开始逐个安装插件:
-
如下图,提示创建一个管理员,填写完相关信息并提交,就可以使用jenkins服务了:
安装maven
点击“系统管理” -> “Global Tool Configuration”,如下图:
新建一个maven,填写完毕后点击底部的”Apply”再点击“保存”,记得勾选“自动安装”,如下图:
安装mave插件
点击“系统管理” -> 管理插件”,如下图:
选中第二个tab”可选插件”,在右上角输入框中输入“Maven Integration plugin”,页面上就会显示出”Maven Integration plugin”这个插件,勾选后点击下面的“直接安装”按钮,即可安装maven插件,如下图:
配置SSH登录github
后面的实战中,我们会将代码放到github上,所以此处要做ssh登录的配置,假设您在git上的注册邮箱是”abcdef@gmail.com”,账号是”abcdef”,您需要执行以下步骤:
在控制台执行以下命令登录到jenkins容器:
相关推荐
带有Docker-in-Docker的Jenkins带有Docker-in-Docker的Jenkins容器映像是同时包含Jenkins和Docker-in-Docker的标准化连续集成环境。 这意味着它具有易于运输的Docker容器的所有优点,此外还具有从内部构建Docker容器...
1)根据官方链接操作即可: ... -v /var/run/docker.sock:/var/run/docker.sock \ jenkinsci/blueocean 2)容器部署完成之后,登录页面http://虚拟机的IP:18080 进入容器查看密码: 输入密码开始按照提
Jenkins LTS-Nginx-Docker中的Docker 詹金斯是什么? Jenkins提供了一种简单的方法,可以使用管道为语言和源代码存储库的几乎任何组合设置持续集成或持续交付环境,并自动执行其他常规开发任务。 虽然Jenkins并...
【Docker Compose 部署 Jenkins 知识点详解】 Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。在本教程中,我们将使用 Docker Compose 部署 Jenkins,一个流行的持续集成和持续交付(CI/CD)平台...
用于在 nginx 后面运行 jenkins 服务器的 Docker 构建(使用 google oAuth 作为身份验证)docker-in-docker 可用,因此 Jenkins 可以启动 dockerized 构建 容器设置 导师 docker 容器将在启动时运行 supervisor ...
The combina on of con nuous delivery being executed on applica ons running in Docker containers will allow us to see, in enterprise IT, the exponen al growth in innova on that we have seen in ...
第一步:docker search jenkins,找到评星最多的官方镜像,pull后创建容器,没想到无法启动,无奈放弃,选用第二个jenkins/jenkins,此为第一个坑:-( 第二步:创建容器: 新建目录 /data/jenkins_home,然后 ...
【gitlab+jenkins+docker】手把手教你搭建基于gitlab+jenkins+docker的项目的自动化部署流程前言路径创建封装docker启动命令创建启动配置文件启动后记跳转 前言 使用现成的docker容器能够快速搭建mysql服务,且管理...
丁詹金斯奴隶 Docker-in-Docker詹金斯奴隶 包含: Java 1.3.3 1.0.1-将其保留一段时间以实现向后兼容 0.7.0 可用作Jenkins从属...要运行Docker-in-Docker Jenkins从站,请执行以下操作: docker run --privile
一、背景介绍 ... 当研发push本地代码到gitlab-server后,webhook自动触发jenkins构建应用 在docker host上部署应用git clone来自gitlabserver源码,并启动应用 前端可以放置lb来做高可用 数据库连接云数
4. 使用 Docker-in-Docker 模式:在容器中运行 Docker 可以实现高效的自动化构建和部署,但是需要小心地配置 Docker-in-Docker 模式,以避免权限问题。 5. Jenkins JNLP 代理容器的启动方式:Jenkins JNLP 代理容器...
jenkins-java-8-11-docker Dockerfile以创建包含Java 8和Java 11支持的Jenkins CI映像。 在Jenkins容器中安装了docker-ce,以允许在Jenkins中...sudo ufw allow in on docker0 from 172.17.0.0/16 to 172.17.0.0/16
1.下面是按照最新版Jenkins的docker compose的yaml文件 jenkins: image: ‘jenkins/jenkins:lts’ container_name: jenkins restart: always ports: – ‘8080:8080’ – ‘50000:50000’ volumes: ...
2. **Jenkins in Docker on YARN** Jenkins是一个流行的持续集成工具,通过在Docker容器中运行Jenkins,可以利用YARN的资源管理能力,实现在大规模集群上的分布式构建和测试。这种方式使得Jenkins实例可以轻松扩展...
depth with the Docker platform, making your apps more secureBuild a Continuous Deployment pipeline by running Jenkins in DockerDebug applications running in Docker containers using Visual StudioPlan ...
Docker结合Jenkins部署vue项目 接上篇 Vue项目没什么好说的,在本地一般使用vue ui启动vue管理的前端,然后在里面进行启动 Vue官方说可以不通过ngin来部署,但是如果上生产环境,建议还是要走nginx 安装nginx 这里...
depth with the Docker platform, making your apps more secureBuild a Continuous Deployment pipeline by running Jenkins in DockerDebug applications running in Docker containers using Visual StudioPlan ...