docker搭建jenkins
docker搭建jenkins实现持续集成、持续部署
- 一、搭建jenkins
- 1.使用docker安装jenkins
- 2.查看jenkins容器是否正常启动
- 3.查看jenkins的初始密码
- 4.登录jenkins的管理页面
- 5.安装必须的插件
- 二、总结安装
前言:
自动化部署可以说是项目的必须,其中jenkins可以说是标配了。jenkins在持续集成、持续交付、持续部署方面做得都很好也就是常说的CI、CD。这篇文章就总结下使用docker来搭建jenkins的过程,并记录这中间踩过的坑,防止再踩,同时也为想要学习jenkins的同学提供一点借鉴。
一、搭建jenkins
使用docker搭建jenkins其实很简单,但是对于镜像的选择还是需要考虑的。jenkins官方推荐使用jenkinsci/blueocean这个镜像,请不要去直接下载jenkins的镜像,这个镜像不好用,建议使用官方推荐的镜像:jenkinsci/blueocean。这里笔者使用的是该镜像的1.24.1-bcc31d32159f这个版本,这个镜像的jenkins是2.2版本的,只不过镜像的tag不是2.2而已,这个不需要在意。同时这个镜像的jdk是1.8的,刚好适用。
1.使用docker安装jenkins
若是没有docker的话,可以参考这篇文章进行安装:centos7安装docker,下面是使用docker安装jenkins的过程。
1)执行命令:
# 下载jenkins镜像,这是官方推荐的镜像 docker pull jenkinsci/blueocean:1.24.1-bcc31d32159f # 创建容器并启动 docker run -d -u root -p 8080:8080 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home -v /etc/localtime:/etc/localtime --name MyJenkins jenkinsci/blueocean:1.24.1-bcc31d32159f
2)运行截图:
3)参数解释:
这块都是参数的解释,可以不看。笔者选择这个版本的原因是他的jdk是jdk8的,最新版的镜像的jdk是jdk11,而且这个镜像的jenkins版本也是2.X版是够用的。此外解释下docker run后面的参数:- 参数-d:表示后台运行,容器不会因为退出而停止。
- 参数-u:表示以什么用户启动容器,这里是以root用户启动容器,这样后期操作容器不会出现权限不足的问题(笔者碰到过)。
- 参数-p:表示端口映射,冒号左边是宿主机端口,右边是容器端口。端口映射后访问宿主机这个端口就相当于访问容器的这个端口。
- 参数-v:表示文件/目录共享,专业来说叫数据卷。冒号左边是宿主机的目录,右边是容器目录,通过这种共享在容器启动后容器内的目录下的内容都会共享到宿主机的目录下,这样我们想要查询信息就会比较方便,就不需要再进入容器了。
- 参数–name:表示为容器起个名字,在容器比较多时使用名称可以很快的区分各个容器,注意这个参数是两个间隔符,不是一个。
2.查看jenkins容器是否正常启动
- 1)执行命令
# 该命令可以查看所有容器的大致信息 docker ps -a
- 2)运行截图
- 3)参数解释
这里执行的命令很简单,就是一个查看容器信息的ps命令,与linux中的ps差不多。那就解释下8080端口和50000端口吧。8080端口是管理控制台的端口,我们访问jenkins的控制台页面就是通过这个端口。至于50000端口也是必须的,50000端口是jnpl的端口,这要从jenkins是java实现的说起,我们可能会发现jenkins既然是java实现为什么安装jenkins后可以直接通过浏览器访问呢?而不需要tomcat等web服务器呢?这就是因为jnlp。jnlp可以让java程序直接通过浏览器来进行访问,就是访问web服务器一样。而这个50000端口就是因为这个开的。
3.查看jenkins的初始密码
1)执行命令
# 创建完容器后可以使用这个命令查看初始密码 docker logs 容器名/id # 若是隔了很久,用上面的命令可能看不到密码信息,我们还可以直接使用这个命令查看 cat /var/jenkins_home/secrets/initialAdminPassword
2)运行截图
3)参数解释
这两个命令都是用于查看初始密码的,好像也没有刻意解释什么的。
4.登录jenkins的管理页面
- 1)输入ip:8080登录页面
然后就会进入到如下页面,在输入框中输入刚刚看到的初始密码,然后稍许等待即可。
- 2)选择推荐插件
安装插件时可能有一部分会失败,大部分情况都会全部成功。若有部分失败,也基本无影响,请忽略他(笔者多次安装都失败了7个左右,并不影响正常使用,因为部分插件我们也用不到)。
- 3)创建初始用户
这里用户名密码啥的自己随便填就行,别忘了就行。然后就一直下一步就行,最后jenkins会自动重启,重启完成后我们就可以进入jenkins的管理页面了。
5.安装必须的插件
其实到jenkins我们已经安装完成了,只需要在安装一些需要使用的插件就可以正常使用了。这里笔者安装三个插件maven、gitee、Post build task。其中maven用来打包程序、gitee是因为笔者代码在gitee上,需要从gitee上拉取代码,Post build task这个插件是用来打包完成后部署服务执行shell脚本使用的。安装插件有两种途径一种是在“全局配置工具”中安装,一种是在“插件管理”中安装,这里笔者会两个地方都使用。
1)安装maven
这里在“全局配置工具”中安装maven。
然后我们找到配置maven的地方进行如下配置即可,其中maven版本自己选择即可。配置完成后先点击“应用”按钮,再点击保存即可。
2)安装gitee
这里从“插件管理”中安装gitee。
进入到“插件管理”后,在“可选插件”一栏搜索gitee然后点击直接安装即可。
然后等待安装完成即可,这里基本不会失败的。安装完成后先不要重启jenkins,等我们装完所有插件后再进行重启jenkins。3)安装Post build task
这个插件和gitee的安装没什么区别,如下图所示
待安装完成后,勾选如下按钮,让jenkins空闲时间进行重启来使插件生效,事实上只要jenkins没有在打包和部署就是空闲时间,所以勾选就会立马重启jenkins。
二、总结安装
这样其实jenkins就装完了,也配置完了,整个安装过程其实不难,对于初次使用jenkins的同学来说困难的可能就是选择插件的问题。这里总结下插件,其实总共需要的有JDK、Git/Gitee、Maven、Post build task这些。JDK容器自带了,而且都是配置好的,所以在jenkins页面里我们无需多余一次配置。Git也是自带的,若是使用的Gitee则需要重新安装插件,也是安装即可,安装完成后无需在“全局配置管理”中进行配置。同样的Maven、Post build task都是安装完毕即可,无需其他配置。安装完成后下面就是需要进行搭建持续集成、持续交付、持续部署的环境了。
docker搭建jenkins相关推荐
- 使用 docker 搭建jenkins 自动化工具
一.jenkins Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成. 大家在工作中,应该都有 ...
- 这样用Docker 搭建 Jenkins 实现自动部署,你知道吗?
一.为什么用jenkins 主要是我们现在的项目都是采用手动部署的,每当给项目中新增一个功能就必须执行(打包--测试--上传测试修复的包到指定服务器--部署上线),这个流程操作起来繁杂,不小心就可能 ...
- Docker搭建jenkins(Vue自动化部署)
前言 需要提前准备的条件 Docker环境 Docker官网:https://hub.docker.com/u/library 一.jenkins镜像 # 查询镜像 docker search jen ...
- docker 搭建Jenkins持续集成平台
Jenkin是一个开源的CI&CD平台,提供持续集成和持续交付服务,有大量的插件来支持构建,部署,自动化等项目需求,自动化测试也可以利用Jenkins来自动构建执行,免去人工执行. 1.部署J ...
- win10使用docker搭建jenkins,实现自动化部署
环境准备: win10 docker gitee 一台服务器 安装jenkins配置环境 首先你自己的需要在电脑上搭建docker的环境,这边就不介绍docker了. 接下来就是搜索镜像,安装jenk ...
- Docker+Jenkins持续集成环境(1)使用Docker搭建Jenkins+Docker持续集成环境
本文介绍如何通过Jenkins的docker镜像从零开始构建一个基于docker镜像的持续集成环境,包含自动化构建.发布到仓库\并部署上线. 0. 前置条件 服务器安装docker,并启动docker ...
- Docker 搭建 Jenkins 流水线项目配置
本篇介绍 Jenkins 流水线项目的配置及流水线脚本语法规则.至于 Jenkins 的安装及其它配置,我之前写过一篇文章可以查看. https://www.yuque.com/testpu/pro/ ...
- 手把手 docker 从零搭建 jenkins 服务器
点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:牛人 20000 字的 Spring Cloud 总结,太硬核了~个人原创+1博客:点击前往,查看更多 来源:h ...
- docker jenkins 公钥_搭建 Jenkins 与 GitLab 的持续集成环境
一.生成新的公私钥 ssh-keygen -t rsa -b 4096 -C "11776174@qq.com" Generating public/private rsa key ...
最新文章
- 【js操作url参数】获取指定url参数值、取指定url参数并转为json对象
- SQL Server 2008中Analysis Services的新特性——深入SQL Server 2008
- onvif规范的实现:onvif开发常用调试方法 和常见的segmentation fault错误
- Java设计模式之建造者Builder模式代码示例
- redis(一)--认识redis
- brew安装指定版本mysql,Mac 系统为 Valet 开发环境安装指定版本 MySQL
- 出于一些原因的考虑,即日起,一步一步SharePoint 2007系列文章将暂停发布
- 软考系统架构师笔记-最后知识点总结(一)
- 第四章 ---- 事务RedisTemplate
- 【李宏毅机器学习】04:梯度下降Gradient Descent
- 将cron表达式解析成中文,方便客户理解
- 蚂蜂窝VS穷游最世界-自由行类App分析
- odac oracle效率差,垃圾,奇慢 ORACLE ODAC
- MAC和夜神模拟器配置adb适配报错
- android截图方法,安卓手机的截图方法
- 2019中南大学计算机考研分数线,中南大学2019考研分数线已公布
- 所有学java的女生都进来看看
- 安防无战事:一场10213亿元的误会
- linux 定时执行任务 at atq atrm命令的使用
- 第七节 可执行程序的装载——20135203齐岳