使用应用编排服务一键式部署,持续集成利器--jenkins
这篇文章主要是来聊一聊jenkins,可说道jenkins,我没有办法不把它与持续集成(Continuous integration,简称CI)联系到一起,所以我先来谈谈什么是持续集成以及为什么需要持续集成?
我举个生活中的直观例子,最近家里刚刚搞完装修,就发现这装修的过程中,暗含着很多持续集成的思想,比如说地板,你家的房子50平,80平,100平,又有卧室客厅,可是地板块的大小就是统一的,而且都很小块,小而灵活就是持续集成的一个关键,其次呢,无论在哪里,地板要从一个边开始,一块一块的铺,铺完一块敲一下让地板块紧密排布在一起,再铺另一块,如果发现这块是残次品,赶紧换另一块,而不是全部铺完,再一起检查。你可以把每一块地板看作是一行代码,持续集成就是你写一行代码就会集成一次检测一次。再比如家里要安装水管和电路,地板铺完了要测试下是不是把水管敲坏了,线路铺完了,,水管装好了 都要用一用。如果全部装完了再测,出现问题可能会互相影响,比如电路不行咋办呢?可能要把地板撬开……。那么每完成一部分就测试,这也是持续集成的一部分。全部装修完了,你去验收,发现地砖颜色和墙纸颜色不匹配,水池有裂痕,马桶漏水,返工吗,那成本可太大了,所以不如每完成一部分,你就去用一下试用验收,这还是持续集成的一部分。你可以把电路,水管,地板看作是一个一个特性,没完成一个特性就要进行一次集成验收,而不是全部都弄完了再来集成验收。如此持续集成的价值便不然而喻了。
互联网软件的开发和发布,已经形成了一套标准流程,最重要的组成部分便是那持续集成。持续集成说的通俗点就是,快节奏地,频繁地,进行代码合入和测试。如今云计算平台日臻完善,容器技术广泛普及,微服务化改造进行如火如荼,小步快跑的敏捷开发发布流程越来越深入每一个企业和开发人员的日常工作中,这一切都衍生出了当前互联网模式的一个显著特点,那就是极其快速的产品迭代与交付、7*24小时在线以及问题响应修复及时。这与传统的瀑布等开发模式大相径庭,而持续集成正是这一切的基础保障。持续集成的核心措施是,你编写的每一行代码在合入和发布的时候,必须通过自动化测试。只要有一个测试用例失败,整个流程就会终止,持续集成并不能消除Bug,而是让它们非常容易发现和改正。这里强调了一个关键词“自动化”集成,我们来感受下如果没有自动化会发生什么呢?
话说没有对比就没有伤害,如果没有自动化持续集成,第一个矛盾点会集中在,Dev与Ops之间,即一个要变化,一个要稳定。对于一个服务上线发布,测试,升级部署是不可避免的,作为ops人员经常存在的一个场景就是:不懂业务,对着开发人员每一步都写得清清楚楚的操作指南,一步步执行,不问为什么,出了问题找开发,全都是你的锅。开发人员一定很气愤,这种ops要来有什么用,机器人吗? 而且ops人员最讨厌的就是变化,恨不得你先开发十年的特性,十年变更一次才好。测试也是存在类似的问题,你新写的每一行代码合入后如果不全量测试一遍,谁又能保证没有问题呢? 如果按照持续集成的思想,那测试会抱怨,因为你的小步快跑而不得不把同样的测试用例反复执行,说到这自动化的好处就呼之欲出了,而jenkins便是这自动化集成的利器。终于开始正文了
Jenkins是一个广泛用于持续构建的可视化web工具,持续构建说得更直白点,如:自动化,性能,打包,部署,发布&发布结果自动化验证,接口测试,单元测试等等等等。jenkins可以很好的支持各种语言(比如:java, c#, php等)的项目构建,也完全兼容ant、maven、gradle等多种第三方构建工具,同时跟svn、git能无缝集成,也支持直接与知名源代码托管网站,比如github、bitbucket直接集成。简单点说,Jenkins其实就是大的框架集,可以整个任何你想整合的内容,实现公司的整个持续集成体系!各种你能想到的,和不能想到的 ,而且Jenkins可自由部署在各种平台:Windows, Linux, Mac。这么优秀的工具如果获取安装部署使用呢?使用AOS示例模板,你无需下载软件,无需配置,真,完成自动化,给你持续集成般的畅快体验!
本示例模板 Jenkins服务 (jenkins-with-cluster)帮助您部署Jenkins服务,部署成功后,通过outputs界面展示的Web URL,可以访问Jenkins服务,堆栈创建的资源包括VPC(虚拟私有云)、Subnet(子网)、Cluster(集群)、Deployment、StatefulSet、Service和Secret。使用本模板前,你需要保证至少有一个可用的密钥对,如果你还没有key pair,请先点击这里创建。
【部署结果展示】
- 浏览器打开获得如下初始化界面,按照jenkins流程进行初始化即可

【部署流程详解】
- 使用jenkins服务示例模板创建堆栈,点击创建堆栈

- 填写堆栈名称与描述。

- 填写输入参数。
(1)基础资源配置:填写可用区,cce集群规格,节点规格,密钥对。

(2)jenkins配置:jenkins镜像地址,访问端口服务号
注意事项:jenkins服务端口填写范围为1~65535。

- 点击下一步,审核配置信息,查看计费信息,点击创建堆栈。
- 确认是否开通CCE服务

- 等待创建成功。


- 查看堆栈输出参数,获得jenkins服务访问地址http://49.4.92.105:32129,
使用应用编排服务一键式部署,持续集成利器--jenkins的更多相关文章
- 【持续集成】jenkins安装部署从git获取代码
一:持续集成的概念: 1.1:总体的概括 持续集成Continuous Integration 持续交付Continuous Delivery 持续部署Continuous Deployment 1. ...
- 持续集成之⑤:jenkins结合脚本实现代码自动化部署及一键回滚至上一版本
持续集成之⑤:jenkins结合脚本实现代码自动化部署及一键回滚至上一版本 一:本文通过jenkins调用shell脚本的的方式完成从Git服务器获取代码.打包.部署到web服务器.将web服务器从负 ...
- Rancher2.x 一键式部署 Prometheus + Grafana 监控 Kubernetes 集群
目录 1.Prometheus & Grafana 介绍 2.环境.软件准备 3.Rancher 2.x 应用商店 4.一键式部署 Prometheus 5.验证 Prometheus + G ...
- Android持续集成之Jenkins 部署
Android持续集成之Jenkins 部署 [TOC] 0x00安装 准备工作如下: Tomcat8.5下载地址 Jenkins下载链接 1 将下载的jenkins.war包放至tomcat下的we ...
- Jenkins部署持续集成远程机节点的问题
工作需要把工作电脑作为持续集成的执行机,最近研究Jenkins,在工作电脑上搭了一套环境,期间把原来的JDK删除掉了,导致持续集成的Jenkins节点slave-agent.jnlp打不开.解决方法是 ...
- 研发协同平台持续集成之Jenkins实践
导读 研发协同平台有两个核心目标,一是提高研发效率 ,二是提高研发质量,要实现这两个核心目标,实现持续集成是关键之一. 什么是持续集成 在<持续集成>一书中,对持续集成的定义如下:持续集成 ...
- 持续集成之Jenkins+Gitlab实现持续集成 [二]
持续集成之Jenkins+Gitlab实现持续集成 [二] 项目:使用git+jenkins实现持续集成 开始构建 General 源码管理 我们安装的是Git插件,还可以安装svn插件 我们将 ...
- 持续集成:jenkins集合
持续集成:jenkins集合 jenkins(一): 持续集成和Jenkins简介 jenkins(二): Jenkins的安装 jenkins(三): Jenkins的应用场景和job ...
- 有手就行2——持续集成环境—Jenkins安装、插件、用户权限及凭证管理
有手就行2--持续集成环境-Jenkins安装.插件.权限及凭证管理 持续集成环境(1)-Jenkins安装 持续集成环境(2)-Jenkins插件管理 持续集成环境(3)-Jenkins用户权限管理 ...
随机推荐
- useReducer介绍和简单使用(六)
上节课学习了useContext函数,那这节课开始学习一下useReducer,因为他们两个很像,并且合作可以完成类似的Redux库的操作.在开发中使用useReducer可以让代码具有更好的可读性和 ...
- 【vue】常用操作
一.Vue中import from的来源:省略后缀与加载文件夹 https://blog.csdn.net/fyyyr/article/details/83657828 二.Vue安装依赖 #安装依赖 ...
- GIS自定义地理处理工具--极值提取
GIS自定义地理处理工具--极值提取 关键词:最大值提取,最小值提取,极值提取,极小值提取,极大值提取 商务合作,科技咨询,版权转让:向日葵,135—4855__4328,xiexiaokui#qq. ...
- GIS空间分析案例_图层逐要素导出地理处理工具
GIS空间分析案例_图层逐要素导出地理处理工具 商务合作,科技咨询,版权转让:向日葵,135-4855__4328,xiexiaokui#qq.com 目的:导出图层的每个要素 使用方法:指定输入图层 ...
- 前端通用下载文件方法(兼容IE)
之前在网上看到一个博主写的前端通用的下载文件的方法,个人觉得很实用,所以mark一下,方便以后查阅 源文地址(源文还有上传/下载excel文件方法) 因为项目要求要兼容IE浏览器,所以完善了一下之前博 ...
- Python监控rabbitmq的代码
author:headsen chen date: 2019-07-26 17:22:24 notice: 个人原创 import requests, json, time, datetime fr ...
- Leetcode: Capacity To Ship Packages Within D Days
A conveyor belt has packages that must be shipped from one port to another within D days. The i-th p ...
- php5.6.30环境报错Call to undefined function ImageCreate() 编译安装 gd库
php5..30环境报错Call to undefined function ImageCreate() 编译安装 gd库 发现php5..30没有加载gd库 [root@cn_vs_web04:/u ...
- Python3基础 str : 对字符串进行切片
Python : 3.7.3 OS : Ubuntu 18.04.2 LTS IDE : pycharm-community-2019.1.3 ...
- 异常检测-基于孤立森林算法Isolation-based Anomaly Detection-3-例子
参考:https://scikit-learn.org/stable/auto_examples/ensemble/plot_isolation_forest.html#sphx-glr-auto-e ...