这篇文章主要是来聊一聊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,请先点击这里创建。

【部署结果展示】

  1. 浏览器打开获得如下初始化界面,按照jenkins流程进行初始化即可

【部署流程详解】

  1. 使用jenkins服务示例模板创建堆栈,点击创建堆栈

  1. 填写堆栈名称与描述。

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

(2)jenkins配置:jenkins镜像地址,访问端口服务号

注意事项:jenkins服务端口填写范围为1~65535。

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

  1. 等待创建成功。

  1. 查看堆栈输出参数,获得jenkins服务访问地址http://49.4.92.105:32129,

使用应用编排服务一键式部署,持续集成利器--jenkins的更多相关文章

  1. 【持续集成】jenkins安装部署从git获取代码

    一:持续集成的概念: 1.1:总体的概括 持续集成Continuous Integration 持续交付Continuous Delivery 持续部署Continuous Deployment 1. ...

  2. 持续集成之⑤:jenkins结合脚本实现代码自动化部署及一键回滚至上一版本

    持续集成之⑤:jenkins结合脚本实现代码自动化部署及一键回滚至上一版本 一:本文通过jenkins调用shell脚本的的方式完成从Git服务器获取代码.打包.部署到web服务器.将web服务器从负 ...

  3. Rancher2.x 一键式部署 Prometheus + Grafana 监控 Kubernetes 集群

    目录 1.Prometheus & Grafana 介绍 2.环境.软件准备 3.Rancher 2.x 应用商店 4.一键式部署 Prometheus 5.验证 Prometheus + G ...

  4. Android持续集成之Jenkins 部署

    Android持续集成之Jenkins 部署 [TOC] 0x00安装 准备工作如下: Tomcat8.5下载地址 Jenkins下载链接 1 将下载的jenkins.war包放至tomcat下的we ...

  5. Jenkins部署持续集成远程机节点的问题

    工作需要把工作电脑作为持续集成的执行机,最近研究Jenkins,在工作电脑上搭了一套环境,期间把原来的JDK删除掉了,导致持续集成的Jenkins节点slave-agent.jnlp打不开.解决方法是 ...

  6. 研发协同平台持续集成之Jenkins实践

    导读 研发协同平台有两个核心目标,一是提高研发效率 ,二是提高研发质量,要实现这两个核心目标,实现持续集成是关键之一. 什么是持续集成 在<持续集成>一书中,对持续集成的定义如下:持续集成 ...

  7. 持续集成之Jenkins+Gitlab实现持续集成 [二]

    持续集成之Jenkins+Gitlab实现持续集成 [二] 项目:使用git+jenkins实现持续集成 开始构建  General  源码管理 我们安装的是Git插件,还可以安装svn插件  我们将 ...

  8. 持续集成:jenkins集合

    持续集成:jenkins集合 jenkins(一):   持续集成和Jenkins简介 jenkins(二):   Jenkins的安装 jenkins(三):   Jenkins的应用场景和job ...

  9. 有手就行2——持续集成环境—Jenkins安装、插件、用户权限及凭证管理

    有手就行2--持续集成环境-Jenkins安装.插件.权限及凭证管理 持续集成环境(1)-Jenkins安装 持续集成环境(2)-Jenkins插件管理 持续集成环境(3)-Jenkins用户权限管理 ...

随机推荐

  1. text-align-last 实现文本居中对齐

    1.示例代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> < ...

  2. 【vue】常用操作

    一.Vue中import from的来源:省略后缀与加载文件夹 https://blog.csdn.net/fyyyr/article/details/83657828 二.Vue安装依赖 #安装依赖 ...

  3. iftop -i eth0 -B -F

    iftop -i eth0 -B -F 108.51.5.220 1 https://www.cnblogs.com/kobexffx/p/11000337.html

  4. vs2017发布后宕机,没有响应解决方法

    找到项目下:Properties\PublishProfiles 删除:FolderProfile.pubxml.user

  5. postgre ~模糊查询慢解决方式

    工作中遇到个情况 sql如下: SELECT org.id orgid,org."path" FROM ( SELECT * FROM A INNER JOIN t_org org ...

  6. 解决IE浏览器没有网络的情况

    计算机能够连接到网络,但是IE浏览器却显示没有网络. 解决方案: 设置 >> IE internet选项: 选择“高级”: 选择“重置”: 勾选“删除个人设置”,点击重置: 重新打开IE, ...

  7. WPF richTextBox 滚动到某项

    在网上没有找到合适的代码,自己写了一段,还有待优化... 直接上代码 /// <summary> /// 滚动到某项 /// </summary> /// <param ...

  8. Laya的调试,调试面板,断点调试

    参考: 性能统计面板介绍 版本2.1.1.1 调试面板 Laya有两个调试选项,编辑模式F9. 第一个调试模式,除了调试面板,还有一个查看当前舞台对象的面板.类似白鹭的Egret Inspector. ...

  9. *438. Find All Anagrams in a String 找到字符串中所有字母异位词

    1. 原始题目 给定一个字符串 s 和一个非空字符串 p,找到 s 中所有是 p 的字母异位词的子串,返回这些子串的起始索引. 字符串只包含小写英文字母,并且字符串 s 和 p 的长度都不超过 201 ...

  10. 教孩子学编程 Python

    教孩子学编程   Python 目录 第1 章 Python 基础:认识环境 111 认识Python 312 用Python 编写程序 513 运行Python 程序 514 本章小结 615 编程 ...