文档章节

基于jenkins+kubernets+docker的持续化集成

战斗的小涵
 战斗的小涵
发布于 2017/09/03 19:36
字数 420
阅读 1492
收藏 111
点赞 2
评论 2

项目实现效果,开发人员在gitlab上传代码,一键部署下去,所有web容器统一更新代码,

服务器数量:两台jenkins做高可用,十八台服务器做docker容器的web服务器。

架构运行思路:gitlab上更新了代码以后,通过webhook检测到gitlab上有变动,然后将给本机的jenkins传送一个回执,执行任务,任务内容是进行代码pull到本机中然后通过脚本命令把代码转移到本机的nfs目录中,然后通过jenkins上的nfs挂载到所有web容器的宿主机上,并将宿主机的挂载目录映射到容器里面的网页根目录中实现了一键自动部署环境。

架构生存时间:jenkins做了高可用实现了不间断工作,docker使用脚本造成了容器自启的效果。

架构图:

顺序: 发开人员→gitlab→jenkins→registry→kubernetes→docker

思路:从开发人员上传代码到gitlab托管代码以后,jenkins自动pull下来然后做成镜像上传至registry私有仓库,同时发指令给kubernetes使他关闭旧容器,然后重新启用新的docker镜像并做成容器对外提供服务。具体操作步骤详见本人有道云笔记:

1.jenkins部署

http://note.youdao.com/noteshare?id=a3c643c5c07c35f7ad00d39ea6e0940c&sub=86FEF5261F92480D94462D90BB306919

2. jenkins服务安装详解

http://note.youdao.com/noteshare?id=3f2998ef0099a0d35fc5942fc0acb6bb&sub=EFC2E4BC50D0452A822A8E3459A07F5C

3.jenkins-keepalived

http://note.youdao.com/noteshare?id=1f38bfbcb85a9bd2a216174fa19afcb4&sub=413FD3408B32428AA3CA9535EDF2FC4F

4.web端-docker容器

http://note.youdao.com/noteshare?id=6e029d91716c1c1b581c1fb0854936db&sub=663A2B77DFFE4F0CBDED17E8893D68F2

6.kubernets集群安装

http://note.youdao.com/noteshare?id=945e7fd37c2953a3dacaab0452bd522f&sub=E1A200E23E7348C6A2E7DDF6A189BB67

7.整体架构部署

http://note.youdao.com/noteshare?id=9fbb1e70069c5a36d98bad49ab235e7a&sub=D2605154F6A64B4F981C136E70BF5322

© 著作权归作者所有

共有 人打赏支持
战斗的小涵
粉丝 9
博文 3
码字总数 6059
作品 0
朝阳
运维
加载中

评论(2)

战斗的小涵
战斗的小涵

引用来自“kkHAIKE”的评论

kubernetes ?
对的,上边打错了:smile:
kkHAIKE
kkHAIKE
kubernetes ?
欢迎来试用我们的开源项目 Cyclon

Hi , Caicloud 宣布开源其 CI/CD 平台 Cyclone,专注解决微服务架构下面向容器的 CI/CD 和版本管理问题。 Cyclone 项目是基于 K8S 的第一个 CI/CD 工具,完善了 K8S 生态圈。 Cyclone 在 Gi...

Caicloud ⋅ 2016/11/14 ⋅ 0

开源持续集成解决方案 - flow.ci

flow.ci 是国内首套开源持续集成(CI) 解决方案,帮助企业团队实现开发流程(build-test-deploy)自动化,快速持续交付高质量软件。 flowci 的设计目标是通过简单易用的 CI 产品,加强公司产品迭...

风起云飞fir_im ⋅ 2017/12/06 ⋅ 0

基于容器的企业级应用 PaaS 平台 - Choerodon猪齿鱼

Choerodon猪齿鱼是一个开源企业服务平台,是基于Kubernetes的容器编排和管理能力,整合DevOps工具链、微服务和移动应用框架,来帮助企业实现敏捷化的应用交付和自动化的运营管理,并提供IoT...

Choerodon ⋅ 05/20 ⋅ 0

基于Jenkins 快速搭建持续集成环境

持续集成概述 什么是持续集成 随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题。尤其是近些年来,敏捷(Agile)...

openthings ⋅ 2015/12/09 ⋅ 0

不可错过的「持续集成」进阶指南

随着软件部署的越来越成熟,敏捷、DevOps、CI/CD、Docker 等词语慢慢出现在工程师的视野中。对于持续集成,业界也没有一个通用的模式,每个团队可能习惯的方式和关注点都不一样。持续集成最关...

风起云飞fir_im ⋅ 2016/10/28 ⋅ 0

fir.im weekly - 「 持续集成 」实践教程合集

我们常看到许多团队和开发者分享他们的持续集成实践经验,本期 fir.im Weekly 收集了 iOS,Android,PHP ,NodeJS 等项目搭建持续集成的实践,以及一些国内外公司的内部持续集成系统的经验,...

风起云飞fir_im ⋅ 2016/05/09 ⋅ 0

【Jenkins系列】Jenkins详细介绍

软件概述 Jenkins是一个基于MIT License协议的开源软件项目,是基于Java开发的一种持续集成(CI)工具,用于监控持续重复的工作,它可以集成各种插件完成持续编译、部署、测试,并将Job运行结...

PeterChen_ ⋅ 2017/10/02 ⋅ 0

我们应该如何基于容器来进行软件的持续交付(一)?

概述 在过去的一段时间里容器已经大量的使用到了IT软件生产的各个环节当中:从软件开发,持续集成,持续部署,测试环境到生产环境。 除了Docker官方的Docker Swarm, Docker Machine以及Docke...

wise2c ⋅ 2016/12/22 ⋅ 0

加速企业敏捷的DEVOPS平台的开发与建设

大家好,本次内容我在我司上个月的PWorld大会上分享过,线下会议参与人数有限,这次应邀在微信上向更广泛的人群分享。希望对大家能有帮助,谢谢! 今天分享的主题是加速企业敏捷的DevOps平台...

English0523 ⋅ 2017/09/07 ⋅ 0

S2JH: 基于SSH的企业Web应用开发框架分享

S2JH A Java/J2EE development framework for enterprise system based on Struts/Spring/JPA/Hibernate and jquery/bootstrap 项目详细WIKI文档: https://github.com/xautlx/s2jh/wiki/In......

xautlx ⋅ 2013/09/30 ⋅ 15

没有更多内容

加载失败,请刷新页面

加载更多

下一页

开启远程SSH

SSH默认没有开启账号密码登陆,需要再配置表中修改: vim /etc/ssh/sshd_configPermitRootLogin yes #是否可以使用root账户登陆PasswordAuthentication yes #是都开启密码登陆ser...

Kefy ⋅ 29分钟前 ⋅ 0

Zookeeper3.4.11+Hadoop2.7.6+Hbase2.0.0搭建分布式集群

有段时间没更新博客了,趁着最近有点时间,来完成之前关于集群部署方面的知识。今天主要讲一讲Zookeeper+Hadoop+Hbase分布式集群的搭建,在我前几篇的集群搭建的博客中已经分别讲过了Zookeep...

海岸线的曙光 ⋅ 37分钟前 ⋅ 0

js保留两位小数方法总结

本文是小编针对js保留两位小数这个大家经常遇到的经典问题整理了在各种情况下的函数写法以及遇到问题的分析,以下是全部内容: 一、我们首先从经典的“四舍五入”算法讲起 1、四舍五入的情况...

孟飞阳 ⋅ 55分钟前 ⋅ 0

python log

python log 处理方式 log_demo.py: 日志代码。 #! /usr/bin/env python# -*- coding: utf-8 -*-# __author__ = "Q1mi""""logging配置"""import osimport logging.config# 定义三种......

inidcard ⋅ 今天 ⋅ 0

mysql 中的信息数据库以及 shell 查询 sql

Information_schema 是 MySQL 自带的信息数据库,里面的“表”保存着服务器当前的实时信息。它提供了访问数据库元数据的方式。 什么是元数据呢?元数据是关于数据的数据,如数据库名或表名,...

blackfoxya ⋅ 今天 ⋅ 0

maven配置阿里云镜像享受飞的感觉

1.在maven目录下的conf/setting.xml中找到mirrors添加如下内容,对所有使用改maven打包的项目生效。 <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.al......

kalnkaya ⋅ 今天 ⋅ 0

centos7下创建新用户并授权

1、创建新用户 创建一个用户名为:test adduser test 创建初始密码: passwd test 2、授予root权限 个人用户的权限只可以在/home/test下有完整权限,其他目录要看别人授权。而经常需要roo...

xixingzhe ⋅ 今天 ⋅ 0

求助:TiledMap如何旋转对象呢?

比如我要旋转一个梯子的角度,单纯在TiledMap旋转角度好像没有效果。那是要用代码来控制角度,还是说只能通过导入相对应的斜的图片才可以呢?

花谢自相惜 ⋅ 今天 ⋅ 0

Micronaut 之HelloWorld!

小试一下Micronaut,按照官方文档跑了一下helloworld 第一步克隆,按照官方文档是: git clone git@github.com:micronaut-projects/micronaut-core.git 结果怎么是这样?? 换个方法吧 git ...

桂哥 ⋅ 今天 ⋅ 0

pom文件

Aeroever ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部