这样用Docker 搭建 Jenkins 实现自动部署,你知道吗?

 一、为什么用jenkins

主要是我们现在的项目都是采用手动部署的,每当给项目中新增一个功能就必须执行(打包--测试--上传测试修复的包到指定服务器--部署上线),这个流程操作起来繁杂,不小心就可能导致部署失败;急需找到一个方式来解决本来就机械化的工作,于是就选择了Jenkins。它能够实现打包、测试、审验、部署一键操作,而已也支持很多插件兼容,操作起来简单方便。

二、Jenkins到底是什么?

Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。下面为项目持续集成和交互的流程图

三、Docker安装Jenkins

1.拉取jenkins镜像

启动docker $ systemctl start docker 拉取镜像 $ docker pull jenkins/jenkins 查看镜像

2.创建Jenkins挂载目录

稍后可以将docker内的目录挂载到此目录上,方便操作容器内文件夹而不需要进入容器 $ mkdir -p /var/jenkins_home

3.为挂载目录赋予权限

chmod 777 /var/jenkins_home

4.运行jenkins

启动一个docker容器,-d是后台执行 -p是本机49001映射容器中的8080端口,该端口是Jenkins默认监听端口 -v表示将容器中的/var/jenkins_home挂载到本机的/var/jenkins_home目录,前者为本机地址,后者为容器地址 --name表示让其命名为myjenkins 最后jenkins/jenkins则是本次运行使用的镜像

可通过显示容器命令查看运行情况

至此jenkins安装完成并运行,可通过ip地址加上端口号49001访问 界面如下

如无法打开,请检查容器启动情况并通过查看错误日志排查错误情况 docker logs myjenkins 使用云服务器请检查防火墙是否开放对应端口

5.查看Jenkins密码

6.配置jenkins插件

启动jenkins后,可选择使用推荐插件或自定义插件。插件安装失败或速度过慢,可通过配置镜像加速解决。

7.配置镜像加速

至此,安装配置完成

四、Jenkins结合Github拉取源码

前置条件:

(1)jenkins已经安装完成,参考我的另一篇文章进行安装配置:jenkins安装及配置

(2)Jenkins服务器已经拥有一个公网IP地址,由于我是本地搭建的,所以我用NATPP实现内网穿透。

(3)插件安装:CloudBees Credentials 、GitHub API Plugin、SSH Credentials Plugin、Git client plugin、SCM API、Mailer Plugin 、Plain Credentials Plugin 、GIT plugin、GitHub Plugin

1、配置Personal Access Token

在对项目有写权限的用户上获取token进入github –> setting –> Developer settings –>  Personal Access Token


2、新建项目

3、配置github源码拉取

3.1 配置凭据

3.2 配置github服务

3.3 在刚刚创建的项目配置github

3.4 选择项目“立即构建”

五、基于Docker自动构建项目

1、安装docker插件

安装docker插件


2、配置Docker服务

2.1 开启Docker服务的2376端口

2.1.1 编辑配置文件

2.1.2 配置2376的tcp端口

2.1.3 重启和加载Docker服务

2.2 配置Docker服务

3、jenkins配置自动部署项目

3.1 配置“构建环境”--添加“build/publish docker image”

3.2 配置Docker服务打包镜像

3.3 配置SSH插件

3.3.1 安装SSH插件

3.3.2 配置SSH登录

选择上面高级勾选并设置密码

3.3.3 使用配置的SSH插件

3.3.4 添加执行shell脚本

3.4 保存后构建项目

3.5 直接访问项目即可实现自动部署

查看223服务器上面的Docker运行容器

访问项目测试

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/302813.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

这是对R的误解!R的应用原来这么广!

R作为一种统计分析软件,广泛应用于生物、医学、电商、新闻等数据相关行业,是目前主流数据应用软件之一。为了更好地帮助大家了解并快速入门R语言,现超级数学建模携手柯老师以R语言为基础,向大家隆重推出《R语言基础》系列课。柯老…

WinDBg定位asp.net mvc项目异常崩溃源码位置

项目介绍:asp.net mvc angular iiswindows server系统莫名崩溃最近有个系统默认奇妙崩溃50x,服务整体变成无响应,当运维告知我只有重启应用程序池项目才能正常。我问他如何重现,得到的回复是我这里无法重现,但客户使用…

mysql如何和qt连接使用_Qt5学习:连接MySQL数据库

一、环境QT版本:QT 5.8.0(msvc2013_64)MySQL版本:mysql 5.7.19二、配置之前 mysql 数据库一直都连接不上,网上也搜了很多资料,主要还是库文件的问题。重新将 mysql.pro 编译一下,将生成的 .dll 和 .lib 文件拷贝到 QT …

TensorFlow框架的这些操作你肯定不知道!

谷歌在上周正式推出了深度学习框架TensorFlow 1.11.0 版本,那么TensorFlow框架到底是什么?TensorFlow™ 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。最初由Google大脑小组的研究员和工程师们开发…

C#中HashTable、Dictionary、ConcurrentDictionary区别

一、HashTableHashTable表示键/值对的集合。在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似key-value的键值对,其中key通常可用来快速查找,同时key是区分大小写;value用…

CDA数据分析师备考必看,L1L2通用

CDA数据分析师L1,L2均可 可安排当月月底的线上考试 线上考的为双机位监考,但是不用担心 安全无隐患,需要联系 当月拿证

你以为妹子穿短裙真的是为了诱惑你吗?

全世界有3.14 % 的人已经关注了数据与算法之美每年暑假,ChinaJoy 都会火热进行,无数一年不出家门的宅男们扛着“长枪大炮”,向着短裙姑娘们就冲过去了。关于裙子,林语堂曾有过一句名言:“演讲应该像女士的裙子&#xf…

聊一聊Jmeter的参数化

背景 前面一篇聊了一下 JMeter 的简单使用,这篇聊一下 JMeter 的参数化。在开始之前先来一个单元测试的例子,感受一下参数化。上面是一个用 xUnit 写的单元测试,这个单元测试就是一个参数化的例子:模拟了不同的输入,调…

Android VNC Server New

Android VNC Server New 关于VNC请参见维基百科:http://zh.wikipedia.org/wiki/VNC关于执行Android VNC Server,请参见前一篇文章:点击链接 一、VNC下载1)fastdroid-vncAndroid VNC Server开源项目 http://code.google.com/p/fast…

EPPlus导出Excel感觉很不错~~~

前言导出成为很多系统的必备功能,之前分享过导出PDF的功能,这里来分享一下Excel的导出;提到Excel导出,NPOI肯定是很多小伙伴的首选,在以往的项目中也用其完成了很多导出需求;对于NPOI,个人感觉使…

[文摘]标准的软件开发过程

为什么80%的码农都做不了架构师?>>> 软件开发的标准过程包括六个阶段,而六个阶段需要编写的各类文件达 14 种之多,在每个阶段需要编写哪些文件,以及这些文件的主要内容见下: 1.可行性与计划研究阶段 可行性…

走进乔布斯的大脑

全世界有3.14 % 的人已经关注了数据与算法之美你永远也无法走进苹果教父乔布斯神秘的大脑,但下面的图可以让你多靠近了解他一点。人们都想走进乔帮主的大脑里看看他的想法,可惜他太难以捉摸了。但是,有个有趣的方法,至少可以让人们…

硬货 | 一片小小的薄膜,却可以粘住全世界!

延续“设计激发积极生活”的理念,在这个中秋,GYMLIVING特别推出月亮概念新产品,在便利生活的同时,为你带来一份浪漫和惊喜!说起月亮,除了阴晴圆缺,月球漫步更让它成了浪漫的代名词。有公司正计划…

使用域超级管理员打开Exchange 2010发现没有权限

1.使用administrator管理员打开EMC却报没有权限。 2.发现此问题,系邮件服务器本身上安装了outlook软件,并配置了使用非administrator账户收信。并有做了Windows保存了用户凭据,造成帐号使用上的混乱,导致连接Exchange服务器时使用…

C# 将多个图片合并成TIFF文件的两种方法

最近需要用到TIF格式的文件,研究了一段时间,终于有点结果了,发现两种方式,第一种是使用BitMiracle.LibTiff.NET,直接在Nuget上安装即可,第二种是使用RasterEdge.DocImageSDK,要从官网下载dll包第…

高等数学、线性代数、概率论与数理统计、几何学这些知识可以用来干什么?主要应用有哪些?...

全世界有3.14 % 的人已经关注了数据与算法之美知乎谢漠烟其他三项,不研究少数工科确实没用,但概率统计真乃应用数学之王。鄙人学业从数学院开始,以经济学院结束,现在在证券公司做苦逼行业研究,深有体会。概率统计抛开了…

HDU 2896 病毒侵袭【AC自动机】

Problem Description当太阳的光辉逐渐被月亮遮蔽,世界失去了光明,大地迎来最黑暗的时刻。。。。在这样的时刻,人们却异常兴奋——我们能在有生之年看到500年一遇的世界奇观,那是多么幸福的事儿啊~~但网路上总有那么些网站&#xf…

风靡全球的人工智能,如何赶上这班车?

目前,机器学习的使用日渐成为趋势。作为人工智能的核心,机器学习是一门多领域的交叉学科,专门研究计算机模拟或实现人类学习行为的方法,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。简单来说…

java spark读写hdfs_Spark读取HDFS数据输出到不同的文件

最近有一个需求是这样的:原来的数据是存储在MySQL,然后通过Sqoop将MySQL的数据抽取到了HDFS集群上,抽取到HDFS上的数据都是纯数据,字段值之间以\t分隔,现在需要将这部分数据还原为json格式的,因为这样做的原…

15个创意的电梯广告

如果你走进任何一个城市,几乎每一个地方有电梯,但是你发现具有创意的广告电梯了吗,分享给大家15个不同城市的创意的电梯广告,作为设计师可以帮助你 Accor Air Asia Becel Body World Coke Zero Consol Energy Fiat Punto Forklift…