https://www.jianshu.com/p/fca8f91ae223 在做持续交付这件事,想必大家都是用jenkins这款程序来做基石.当然,我们这次也是用jenkins作为承载工具,jenkins强大的插件是有目共睹的,有些ansible做起来不容易的事情交给jenkins反而简单有效.下面我会详细说明怎么持续交付tomcat应用. 希望本实验可以引导大家在持续交付的过程中使用ansible工具,也希望本实验能帮助到有需要的人,更希望给到大家一个简单的持续交付思想和启发.如想继续交流的…
请读者务必保持环境一致 安装过程中需要下载所需系统包,请务必使所有节点连上互联网. 本次安装的集群节点信息 实验环境:VMware的虚拟机 IP地址 主机名 CPU 内存 192.168.77.133 k8s-m1 6核 6G 192.168.77.134 k8s-m2 6核 6G 192.168.77.135 k8s-m3 6核 6G 192.168.77.136 k8s-n1 6核 6G 192.168.77.137 k8s-n2 6核 6G 192.168.77.138 k8s-n3 6核…
利用jenkins和docker实现持续交付 一.什么是持续交付 让软件产品的产出过程在一个短周期内完成,以保证软件可以稳定.持续的保持在随时可以发布的状况.它的目标在于让软件的构建.测试与发布变得更快以及更频繁.这种方式可以减少软件开发的成本与时间,减少风险. 二.对比持续交付和传统交付 传统交付的发布周期可以表示为下图: 传统交付的缺点: 慢交付:在这里,客户在指定需求之后很长时间才收到产品.这导致了不满意的上市时间和客户反馈的延迟. 反馈周期长:反馈周期不仅与客户有关,还与开发人员有关.假…
前言     上一篇随笔Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)介绍maven和nexus的环境搭建,以及如何使用maven和nexus统一管理库文件和版本,以及怎么将自己的模块上传至nexus私服,供其他模块引用.下面将主要介绍如何利用Jenkins.SVN.Tomcat以及Sonar来完成项目的自动化编译.测试和发布,以及检查项目的代码质量. 利器Jenkins     Jenkins源于另外一个持续集成工具Hudson,Hudson在o…
上一篇随笔Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)介绍maven和nexus的环境搭建,以及如何使用maven和nexus统一管理库文件和版本,以及怎么将自己的模块上传至nexus私服,供其他模块引用.下面将主要介绍如何利用Jenkins.SVN.Tomcat以及Sonar来完成项目的自动化编译.测试和发布,以及检查项目的代码质量. 利器Jenkins Jenkins源于另外一个持续集成工具Hudson,Hudson在oracle收购sun之…
前言 但凡一个略有规模的项目都需要一个持续集成环境的支撑,为什么需要持续集成环境,我们来看一个例子.假如一个项目,由A.B两位程序员来协作开发,A负责前端模块,B负责后端模块,前端依赖后端.A和B都习惯使用SVN作为代码管理工具,他们分别开始工作,一个功能完成后会提交到SVN,以便对方能够使用.一天B告诉A,我的某个功能完成了,提交到SVN,你更新下来试一下.A便从SVN更新下来代码,结果一试,我檫报错,于是告诉B你的代码有问题,B检查了一下确实有问题,然后B经过1个小时修改后,重新上传到SVN…
使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一) 2015-01-14 20:28 by 飘扬的红领巾, 4322 阅读, 5 评论, 收藏, 编辑 前言 但凡一个略有规模的项目都需要一个持续集成环境的支撑,为什么需要持续集成环境,我们来看一个例子.假如一个项目,由A.B两位程序员来协作开发,A负责前端模块,B负责后端模块,前端依赖后端.A和B都习惯使用SVN作为代码管理工具,他们分别开始工作,一个功能完成后会提交到SVN,以便对方能够使用.一天…
这是一个关于Vagrant的学习系列,包含如下文章: Vagrant入门 创建自己的Vagrant box 用Vagrant搭建Jenkins构建环境 用Vagrant和Ansible搭建持续交付平台 随着微服务越来越被行业所接受,与之相关的持续集成和持续交付的作用和价值也更加突显.在本文中,我们将使用Vgrant和Ansible来自动地创建一套持续交付平台——ThoughtWorks的GoCD.如果你对Jenkins比较熟悉,也可以参考笔者另外一篇搭建Jenkins多机构建环境的文章. 我们将…
持续交付即Continuous Delivery,简称CD,随着DevOps的流行正越来越被传统企业所重视.持续交付讲求以短周期.小细粒度,自动化的方式频繁的交付软件,在这个过 程中要求开发.测试.用户体验等角色紧密合作,快速收集反馈,从而不断改善软件质量并减少浪费.然而,在我所接触的传统企业中,对于持续交付实践的实施都 还非常初级,坦白说,大部分还停留的手工生成发布包,手工替换文件进行部署的阶段,这样做无疑缺乏管理且容易出错.如果究其原因,我想主要是因为构建一个 可实际运行且适合企业自身环境的…
Ansible的roles标准化与Jenkins持续集成(三) 链接:https://pan.baidu.com/s/1A3Iq3gGkGS27L_Gt37_I0g 提取码:ncy2 复制这段内容后打开百度网盘手机App,操作更方便哦 1. 使用roles标准化Playbook 1.1 创建roles基本原型的目录结构 [root@Ansible /]# tree /myroles/ /myroles/ ├── nginx.yaml #入口触发配置文件 └── roles #playbook的原…
基于cache DB缓存的session共享 基于memcache/redis缓存的session共享.即使用cacheDB存取session信息,应用服务器接受新请求将session信息保存在cache DB中,当应用服务器发生故障时,调度器会遍历寻找可用节点,分发请求,当应用服务器发现session不在本机内存时,则去cacheDB中查找,如果找到则复制到本机,这样实现session共享和高可用. Tomcat集群session同步方式:1)使用tomcat自带的cluster方式,多个to…
最近在写一个批量巡检工具,利用ansible将脚本推到各个机器上执行,然后将执行的结果以json格式返回来. 如下所示: # ansible node2 -m script -a /root/python/health_check.py node2 | SUCCESS => { "changed": true, , "stderr": "Shared connection to 192.168.244.20 closed.\r\n", &q…
geo指令使用ngx_http_geo_module模块提供的.默认情况下,nginx有加载这个模块,除非人为的 --without-http_geo_module.ngx_http_geo_module模块可以用来创建变量,其值依赖于客户端IP地址.geo指令语法: geo [$address] $variable { ... }默认值: -配置段: http定义从指定的变量获取客户端的IP地址.默认情况下,nginx从$remote_addr变量取得客户端IP地址,但也可以从其他变量获得.例…
前言有使用 ASP.NET MVC 的朋友们一定多多少少有听过 TryUpdateModel,之前就看了很多有关它的文章,但在专案实务上都未曾实际使用过,而 TryUpdateModel 不仅能利用 Metadata 来做栏位验证确保资料正确性,也可以指定更新的条件或是指定某几个栏位不更新,这几天刚好有时间就写了简单的范例,来看看它到底有什么神奇魔力吧. 说明首先我们先定义一个 Model 如下:   一般透过 TryUpdateModel 来做资料更新,最简单的写法如下 : [HttpPost…
以下是自学it网--中级班上课笔记 网址:www.zixue.it html页面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN"…
利用 yEd 软件做元数据管理 yEd Diagram editor 是我常用的 flow chart 制图工具, 另外我也用它画 ER 和 use case 图. 总结一下我喜欢 yEd 的原因:1. 出色的对齐功能2. 可随意拖动Node, 永远不用担心相连的 Edge 会自动断开连接3. 每个 Node 都自带一个Label, 加说明文字非常方便4. 每个 Edge 都自带一个Label, 加说明文字非常方便 今天总结的是一个非常有价值的使用场景, 在数据仓库和大数据平台中, 数据表的关系…
mybatis利用拦截器做统一分页 查询传递Page参数,或者传递继承Page的对象参数.拦截器查询记录之后,通过改造查询sql获取总记录数.赋值Page对象,返回. 示例项目:https://github.com/windwant/spring-boot-service https://github.com/windwant/spring-dubbo-service/tree/master/spring-boot-server 拦截器: package com.xxx; import com.…
JavaScript,利用封装库做百度分享 效果图 html代码 <div id="share"> <h2>分享到</h2> <ul> <li><a href="###" class="a">一键分享</a></li> <li><a href="###" class="b">新浪微博<…
修改文章:http://linux.cn/article-1017-1.html 而RedHat的yum则需要注册付费才能使用,如果不这样则有两种解决方案 1. 利用iso镜像做本地yum源 2. 利用光盘做本地yum源 在这里用iso或者光盘做本地yum源的方法是差不多的,只是用光盘的话Linux系统会自动挂载,用iso镜像的或需要手动挂载,这里就说挂载iso的方法吧. [一]用本地文件创建本地yum源 1. 创建iso存放目录和挂载目录 mkdir /mnt/iso mkdir /mnt/c…
nginx利用geo模块做限速白名单以及geo实现全局负载均衡的操作记录 原文:http://www.cnblogs.com/kevingrace/p/6165572.html Nginx的geo模块不仅可以有限速白名单的作用,还可以做全局负载均衡,可以要根据客户端ip访问到不同的server.比如,可以将电信的用户访问定向到电信服务器,网通的用户重 定向到网通服务器”,从而实现智能DNS的作用.前面介绍过nginx域名访问的白名单配置梳理,下面对nginx的geo模块使用做一梳理(参考Geo模…
在Pivotal Container Service (PKS)上部署软件的方法多种多样,本文重点介绍如何使用Spinnaker在PKS(或任何Kubernetes群集)上进行持续交付. Pivotal Container Service是一个由Pivotal构建的平台,用于减轻部署和运维Kubernetes群集的负担.PKS基于Cloud Foundry的容器运行环境(以前称为“Kubo”)而构建,利用BOSH为Kubernetes处理初始和后续运维. PKS却并不仅仅是Kubernetes的…
以P2P网贷为例互联网金融产品如何利用大数据做风控?   销售环节 了解客户申请意愿和申请信息的真实性:适用于信贷员模式. 风控关键点 亲见申请人,亲见申请人证件,亲见申请人签字,亲见申请人单位. 审批环节 进行基本信贷政策的核查,主要是核实申请信息.证件资料.是否伪冒申请. 系统会审核剔除不符合基本信贷政策要求的客户,例如有严重不良征集记录的,内部已经有违约记录的,或者近期有较大风险被纳入关联黑名单的,不符合监管政策要求的客户.经过基本审查后,不同的申请人会依据客户信息的分类,被自动分发到不同…
GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 目录 1. 安装ansbile 2. 配置ansible 3. 建立ssh信任 4. 测试ansible 5. 使用ansible自动安装GreatSQL 5.1 修改 /etc/hosts 设置正确的主机名 5.2 下载GreatSQL-ansible安装包,解压缩 5.3 利用ansible安装GreatSQL 5.4 检查Ansible运行过程输出 5.5 检查GreatSQL安装结果 6. 小结 参考资料.文档…
导读:中国五矿和阿里巴巴联手打造的钢铁服务专业平台五阿哥,通过集结阿里巴巴在大数据.电商平台和互联网产品技术上的优势,为终端用户带来一站式采购体验.本文是五阿哥运维技术团队针对Docker容器技术在如何在持续交付过程中探索和实践,目前已经将发布部署权限开放给应用开发的owner,实现7*24小时“一站式”的持续交付,整体提高了公司研发过程的交付能力. 前言 作为创业公司和推行DevOps工程师们来说,都遇到过这样的问题: 硬件资源利用率的问题,造成部分成本的浪费 在网站功能中不同的业务场景有计算…
引言 DevOps 是一套实践方法,在保证高质量的前提下缩短系统变更从提交到部署至生产环境的时间,其中持续集成和持续交付是 DevOps 里面非常重要的一环.本文讲述了达到自动化持续交付需要做的准备工作,流水线构建方法和最佳实践. 关于持续交付 持续交付是一组能够帮助软件开发团队极大的提高其软件交付的速度和质量的模式和最佳实践组成.   image.png 不同于低频率发布相对较大的版本,实施持续交付的团队希望比通常更频繁地将更小批量的变更投入生产, 例如每周,每天或一天之内就能够发布多个版本.…
1      前言 当代信息技术飞速发展,软件和系统的代码规模都变得越来越大,而且组件众多,依赖繁复,每次新版本的发布都仿佛是乘坐一次无座的绿皮车长途夜行,疲惫不堪.软件交付是一个复杂的工程,涉及到软件开发的各个细节,其中任何一环出现问题,都会导致软件不能及时交付,或者交付的质量堪忧. 从企业的角度来讲,如何利用更科学的工具.更科学的流程来提高产品质量,提升客户满意度,是刚需.从员工角度来讲,生命里值得追求的事情很多,不能把宝贵的时间浪费在一些机械的.重复的事情上面. 联想企业网盘从2007开始…
对于Linux平台上的持续集成和持续交付可以使用Docker快捷的完成任务,但是Windows Server下却不好使用,一般来讲,windows Server下最简单的发布方式是直接手动打包发布或是利用webDeploy完成,但是手动发布太麻烦,webDeploy配置也麻烦,因此尝试使用Jenkins+Powershell,将代码拉取到Windows Server上然后通过dotnet命令发布,并通过Powershell更新相应的网站,但是首次网站配置工作,还是得手动进行发布工作,对于在公司内…
感谢之前带领过我的leader,让我能够知道什么是好的开发方法. 在很早之前就接触过敏捷开发.什么是敏捷开发,简单来说就是让软件可靠地,快速地发布出来的一种开发方法和技巧. 而敏捷开发中有许多的实践,可能并不是每一种实践都适合于你的团队,但是总有一种能帮助你们的团队快速地将软件可靠地,高可用地发布出来. 如果在读这篇文章之前,还没有接触过敏捷开发,那么推荐一门敏捷开发入门的书籍:<硝烟中的scrum和xp>,这本书是一本敏捷开发的入门入籍,介绍了诸如:产品如何编写backlog.怎么准备spr…
你的连续交付能力用得还好吗,比如频繁发布移动或云应用的特性增强?还是恰好相反,快速发布了带漏洞的版本? - Joel Shore 连续交付能让交付流程跑得更快,但连续交付本身并不能为发布质量打包票.国外基于Jenkins持续集成和连续交付平台的某应用交付技术提供商认为,如果发布质量没有得到一定程度上的保障,软件交付的快点慢点都没有太大意义. 随着DevOps兴起以及新时代下的行业竞争日趋白热化,敏捷开发和交付速度渐渐跑到能力新高峰,但大家仍越来越需要更快速交付高质量软件.位于加州的一个软件公司C…
前言 这篇写好一段时间了,一直也没发布上来,今天稍微整理下了交下作业,部分内容偷懒引用了一些别人的内容.使用Jenkins做持续集成/持续交付,当业务达到一定规模的时候,Jenkins本身就很容易成为整条流水线的瓶颈,各个业务端都依靠Jenkins,部署Jenkins服务时如何保障服务的高可用变得尤为重要.以微医为例,目前Jenkins的业务承载量:>1,000 Build Jobs,>5,000 Buils/Day,光依靠单master已经无法承载高并发的性能压力,瓶颈来自多方面,不仅仅是J…