持续集成

jenkins持续集成部署

血红的双手。 提交于 2019-12-04 21:51:02
jenkins 持续集成部署 下载安装 Jenkins 的前身是 Hudson 是一个可扩展的持续集成引擎。 主要用于: 1. 持续、自动地构建/测试软件项目,如CruiseControl与DamageControl。 2.监控一些定时执行的任务。 jenkins 用来简化项目的发布部署,最近更新比较频繁,我使用官网最新版2.7.1。官网地址: https://jenkins.io/ 一、下载jenkins 下载最新版war包,我们使用tomcat运行,tomcat下载地址: http://tomcat.apache.org/download-80.cgi 二、安装jenkins 拷贝jenkins.war到tomcat的webapps下,运行tomcat即可 访问 http://localhost:8080/jenkins 三、配置jenkins 1 、找到jenkins默认管理密码,密码位置看图: 2 、选择安装模式 Install suggested plugins (推荐安装)和Select plugins to install(自定义安装) 我们选择推荐安装即可 3 、创建管理员账号 4 、安装成功 配置jenkins jenkins 使用前需要配置一些公共配置,如:用户权限、邮件配置、svn配置、jdk配置、maven配置 1 、用户权限配置 依次进入:系统管理

Docker服务编排05-k8s持续集成(CICD)springcloud微服务

为君一笑 提交于 2019-12-04 16:36:41
k8s持续集成(CICD)springcloud微服务 DevOps简介 CICD简介 环境准备 微服务程序 安装gitlab服务器中文版 安装jenkins 安装harbor 安装maven 安装git客户端 安装k8s集群 部署微服务 部署微服务 上传代码 添加构建服务 DevOps简介 DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。 它是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。 它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须紧密合作 详细解释 CICD简介 持续集成(continuous integration )指的是,频繁地(一天多次)将代码集成到主干。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。 它的好处主要有两个。 (1)快速发现错误。每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易。 (2)防止分支大幅偏离主干。如果不是经常集成,主干又在不断更新,会导致以后集成的难度变大

CI/CD持续集成流程说明

元气小坏坏 提交于 2019-12-04 13:44:19
一,CI/CD流程和持续交付简介 CI(Continuous Integration)持续集成 CD(Continuous Deployment)持续部署 CD(Continuous delivery)持续交付 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。持续集成的邮件可参考文章 https://www.jianshu.com/p/325f447e7881 。 ·本文展示了CI/CD的一种解决方案,下文将进行基于这种方案的持续集成流水线的流程说明。使用到的开源组件如下: 1,git 代码仓库 2,gerrit 代码审查 3,sonarqube 代码质量检查 4,jenkins 自动化工具 5,sonatype nexus maven私库 6,rundeck 自动化工具 7,dashboard 问题跟踪 二,架构图及流程介绍 根据架构图简单概述为几个阶段: 一, 提交阶段 1,开发人员提交代码到git仓库。 2,开发人员使用sonarqube进行代码质量检查并根据检查结果进行修复代码。 3,测试人员使用jenkins对代码进行构建并进行单元测试、代码质量检查。 3

jenkins+git+docker持续集成自动部署

一笑奈何 提交于 2019-12-04 10:40:31
持续集成原理:本地push代码,触发webhook,jenkins拉取代码到服务器后,通过shell脚本编译打包发布。 这里采用阿里云centos7做服务器 搭建步骤: 1、安装JDK1.8,最好是rpm安装版,解压版或多或少会有点问题,jenkins对jdk版本也有要求,安装docker。 2、安装并配置好maven。 3、安装git。 4、 https://jenkins.io/download/ ,jenkins官网下载jenkins.war 也可以选择下载rpm安装版,不过相对于war包要麻烦一些,这里以war包为例。 下载好war包之后,将war包丢进tomcat的webapp文件夹下面直接启动tomcat,访问 http://ip:port/jenkins 开始配置jenkins,选择安装推荐插件,其他的需要的插件可以进去之后再手动安装. 使用webhook自动触发构建项目需要用到webhook插件,在系统管理-》插件管理里面添加下载。 系统管理——》全局工具配置里面配置jdk、git、maven,这里都配置服务器上面的实际安装位置,可以使用whereis git查看安装位置,jdk和maven也一样。 5、配置webhook 在系统管理-》系统设置里面找到GitHub,点击高级,勾选“为GitHub指定另外一个Hook URL”,复制输入框里面的URL

持续集成2-构建及使用gitlib和jenkins

假如想象 提交于 2019-12-04 10:32:40
一、前言 首先出于提高自己技术水平和琢磨能做点什么能提高工作效率,上线工作实在无聊、重复(手动编译、打包,传包,重启),于是就想到了 jenkins,jenkins持续集成已经不是什么新鲜的话题,网上文章一大堆,俗话说天下文章一大抄,基本上就是那三五篇,相信要是以前没接触过的人没有两三天是弄不出来的,特别是身为运维岗,一些关于开发的东西还是不太懂,在搭建之前什么持续集成、持续构建、持续部署这些概念真是搞不懂,也许是我比较愚笨,在我研究的这段时间里,真是一步一个坑,想想这人品,写这个的目的不为什么,希望后来者少踩坑,也为自己做个记录。 二、环境 1、粘一副从网上看见的我认为好理解的图 2、服务器环境 一台 jenkins服务器:192.168.4.117 一台 gitlab服务器:192.168.4.81 一台测试服务器: 192.168.4.91 三、环境搭建 1、gitlab安装:由于之前已经写过gitlab安装的博客,在此就不重复写了,把地址粘出来:http://www.cnblogs.com/lidong94/p/7161717.html 2、jenkins安装 ( 1)安装可以用war包也可以用rpm包,但是个人认为还是war包好用方便,首先下载好jenkins的war包,地址:http://mirrors.jenkins.io/war-stable/2.32.3/ ( 2

跨越敏捷和devops的鸿沟

我只是一个虾纸丫 提交于 2019-12-04 10:30:37
day2 更多的是理念思想和一些经验的分享吧 先来个鸡汤: 每个人都有自己的人生高山去攀越,技术人也有技术的高山,不是人生的全部,但又不可缺少的,我们要选对方向,找对方法去坚持去爬山,就像终身学习一样,我们不一定都能爬到顶峰,但是更多是发现途中的风景,未来很多是不确定的,过程是更为精彩,要大胆探索。特别是像第一天所说的后端如何驱动前端去渐进式迭代,应该说这不仅是技术了,更是价值观的变革,结合自己的学习一些工具的经历,确实学到不只是一个确定的规范结果,还有各种技术工具以及其背后的思想,还有各个方面的思维等,收获很多。 除了传统开发的需求分析,概要设计、详细设计这些技术工程能力,加上持续交付、持续集成、自动化运维等也是工程 能力的体现。每一个角色和对应的能力其实都是类似的。用开发的思想来做运维,用产品的思想做开发,用运维的思想来做业务系统分析,本质上就是都有无形的鸿沟在这之间。 这里说到了很多思维和工具,精益创业、持续集成、微服务、到全栈、scrum 等等、更多是看上去混沌的,但是抽象出4个理念也是敏捷的理念,基于业务的端到端的持续交付开发模式。个体和互动高于流程和工具,工作的软件高于详尽的文档,客户合作高于合同谈判,响应变化高于遵循计划。 1、不要信任权威 我们要从流程模式转到不确定性的研究模式,敢于探索,要基于自己的研究实践。 2、 技术能力第一 ,这也体现了实践的重要性 3

[笔记]CI笔记——CI业界术语

寵の児 提交于 2019-12-04 06:30:23
自动化的(automated) 构建(build) 持续(Continuous) 持续集成(Continuous Integration) 开发环境(development environment) 审查(inspection) 集成(integration) 集成构建(integration build) 私有/系统构建(private/system build) 品质(quality) 发布构建(release build) 风险(risk) 测试(testing) [摘自《Continuous Integration - Improving Software Quality and Reducing Risk》简体中译版,即《持续集成 - 软件质量改进和风险降低之道》] 来源: oschina 链接: https://my.oschina.net/u/115036/blog/37855

持续集成学习6 jenkins自动化代码构建

有些话、适合烂在心里 提交于 2019-12-03 17:38:18
一、实验目标    二、配置   1、配置mvn构建 [root@node1 ~]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz [root@node1 bin]# tail 1 /etc/profile export PATH=$PATH:/application/mvn/apache-maven-3.5.4/bin   2、配置变量方式     a、在节点中配置 来源: https://www.cnblogs.com/Presley-lpc/p/11805318.html

持续集成服务托管Travis CI入门

China☆狼群 提交于 2019-12-03 08:24:28
Travis CI 介绍 Travis CI是一个持续集成的托管服务。目前已经集成Github,并支持以下类型的项目: C C++ Clojure Erlang Go Groovy Haskell Java JavaScript (with Node.js) Objective-C Perl PHP Python Ruby Scala Travis CI构建环境为不同的语言提供多种不同的运行时,如多版本的Ruby,PHP,Node.js。同时,它还提供多种数据库和常用工具,如消息中间件。 你可以很轻松在一种或多种语言甚至多种数据库环境下测试你的项目。 第一步:登录: 首先使用你的Github帐户登录Travis CI。访问 Travis CI 并点击页面顶部的 Sign In 连接。 注意,在 http://travis-ci.org ,你只能看到你的公开仓库,而在 http://travis-ci.com ,你可以看你的私有仓库。 登录的时候,GitHub会询问是否允许我们访问你的GitHub权限。在 这里 有更详细的关于Github权限的描述。 第二步:激活GitHub的web钩子(Webhook) 登录后,我们将会从GitHub同步你的仓库,包括你的开源项目或私有项目。 你可以看到你所有的可访问的机构,仓库。只要你是仓库的管理员,你都可以开启服务钩子(service hook

CICD - 持续集成与持续交付

☆樱花仙子☆ 提交于 2019-12-03 04:50:35
持续集成与持续交付是软件开发和交付中的实践。我们项目中一直在践行持续集成(CI:Continuous Integration);持续交付(CD:Continuous Delivery)未能达到理想状态,只能实践一部分。这篇文章用于总结CI/CD的实践。 持续集成 什么是持续集成? 软件开发中,集成是一个很可能发生未知错误的过程。持续集成是一种软件开发实践,希望团队中的成员频繁提交代码到代码仓库,且每次提交都能通过自动化测试进行验证,从而使问题尽早暴露和解决。 持续集成的好处是什么? 持续集成可以使问题尽早暴露,从而也降低了解决问题的难度,正如老马所说,持续集成无法消除bug,但却能大大降低修复的难度和时间。 如何做到持续集成? 首先,持续集成需要: 1. 单一的代码仓库,团队成员都像该仓库提交代码; 2. 自动化构建且构建过程需要包含自动化测试; 3. 有单独的集成机器用于构建; 4. 保证构建速度不要太慢(曾经有一个项目构建需要20分钟,就会很痛苦); 5. 在类产品环境进行测试; 6. 能够方便获取最新的可执行程序; 7. 可视化,大家都能看到构建过程及结果; 8. 自动化部署。 其次,我们通过以下步骤进行持续集成: 1. 程序员将代码下载到本地,并在完成修改后提交代码; 2. CI服务器监测代码库,并在有提交时自动触发; 3. CI服务器对代码进行构建,运行单元测试和集成测试