CruiseControl是CIserver的老者,诞生已是多年,在很多方面,CruiseControlserver已经成为持续集成实践的同义词.而如今,CruiseControl已发展成为一个家族式系统,包含CruiseControl.java.CruiseControl.net.CruiseControl.ruby等适应不同语言环境的实现,其强大的插件和扩展能力也是诸多同类系统无法比你的.而在这里,我仅仅介绍该家族的本家CruiseControl.java,即CruiseControl.Cr…
刚换了工作,有需要搭建一套持续集成的平台,做一下总结. 首先是我用到的工具: 上面缺少了Microsoft Fxcop,可以用来做代码校验,不过实际情况暂时还没有用到.主要的需求目前是,使用已发布的稳定版本代码作为新发布版本代码的基础,避免有未完成的代码存在于发布版本中,同时自动化集成发布后,上传该新发布版本代码到tags中.elevate一般情况下是不需要的,不过VisualSVN无法使用命令行登陆,可以使用它来提升执行权限,不过最终我使用了另外一个办法,这个方法需要购买VisualSVN S…
理想的程序员必须懒惰,永远追随自动化法则.Automating shapes smarter future. 在一个 Python 项目的开发过程中可能会做的事情:编译.手动或自动化测试.部署环境配置等.这些操作是重复而枯燥的,如果是人工来一项一项做,会浪费大量时间,需要有一个高效的工具来帮我们完成. 这篇文章中我们用可执行的步骤告诉大家,如何用 flow.ci 从 GitHub 到 Slack 搭建简单的 Python 自动化持续集成. 了解 flow.ci flow.ci 是融入了 work…
背景描述 根据项目需求,现要在团队内部搭建一个统一的打包平台,实现对iOS和Android项目的打包.而且为了方便团队内部的测试包分发,希望在打包完成后能生成一个二维码,体验用户(产品.运营.测试等人员)通过手机扫描二维码后就能直接安装测试包. 该需求具有一定的普遍性,基本上所有开发APP的团队都可能会用到,因此我将整个需求实现的过程整理后形成此文,并且真正地做到了零基础上手,到手即飞.开箱即用,希望能对大家有所帮助. 首先,先给大家展示下平台建设完成后的整体效果:     该平台主要实现的功能…
关于c#的.Net FrameWork 的集成环境以及MsBuild的配置可以看     jenkins搭建.NET FrameWork持续集成环境 这篇文章     关于.NET Core 这个项目我搭了很久 其实很简单 因为不懂.NET FrameWork 和.NetCore 所以走了很大的弯     我们用NuGet还原.NET Core项目会报以下错误:     error NETSDK1064: 未找到版本为 1.8.2 的包 BouncyCastle.NetCore.它可能已在 Nu…
本文介绍如何通过Jenkins的docker镜像从零开始构建一个基于docker镜像的持续集成环境,包含自动化构建.发布到仓库\并部署上线. 0. 前置条件 服务器安装docker,并启动docker swarm 注意docker启动时,需要开启tcp端口 1.Jenkins 安装 1.1 命令行启动: 安装比较简单,直接运行 docker run -p 8080:8080 -p 50000:50000 -d -v /home/jenkins-home-docker:/var/jenkins_h…
本文介绍如何通过Jenkins的docker镜像从零开始构建一个基于docker镜像的持续集成环境,包含自动化构建.发布到仓库\并部署上线. 0. 前置条件 服务器安装docker,并启动docker swarm 注意docker启动时,需要开启tcp端口 1.Jenkins 安装 1.1 命令行启动: 安装比较简单,直接运行 docker run -p 8080:8080 -p 50000:50000 -d -v /home/jenkins-home-docker:/var/jenkins_h…
1. 环境设计 搭建一个从开发到测试知道发布上线可以自动换完成的CI系统.这个系统中包含4个环境. 开发(dev)环境: 码农使用. 测试(test)环境: 测试人员使用. 预发布(prepublish)环境: 预发布环境,用于上线前的最后验证. 正式(realpublish)环境: 正式上线运行环境 我期望的效果是这样的: 代码推送到master分支,自动构建.部署到dev 代码推送到test分支, 自动构建.部署到test test上测试通过后,在jenkins中手动触发relase分支构建…
最近在研究如何将OpenSTF与Jenkins进行协同开发,刚刚爬梯子看了些资料,赶紧记录下来. 转载请注明出处:https://www.cnblogs.com/v88v/p/10405338.html 环境 操作系统:Mac/Linux/Windows 已部署OpenSTF与Jenkins在同一服务器上 安装OpenSTF插件 进入Jenkins的“系统管理”——“插件管理”——“Available”找到“Open STF Plugin”勾选后进行安装 创建一个测试项目看看插件是否安装成功 看…
前提: Ant+jmeter 已经搭建完成并成功运行(参看ant+jmeter自动化性能测试) Jenkins在本地已经安装可运行(参看上一篇) 1.下载Jenkins安装 2.浏览器输入地址http://localhost:8080/显示界面,安装成功 3.新建一个任务并配置 构建一个自由风格的软件项目即可. 4.配置参数 旧的构建保存了你在一次构建中的所有临时文件,如果构建没有保留的必要,就勾选丢弃旧的构建,同时设置保持构建天使和保持构建的最大个数两个参数. PS:三个设置必须同时设置,否则…
本文不赘述如何安装 Jenkins,如有需要请看之前文章,这里我们主要搭建 .Net 环境.本文是在 Windows 环境下安装的 Jenkins 进行操作     一.安装所需环境     这里我们需要安装以下安装包:     .NET Framework 4.6.1 https://www.microsoft.com/zh-cn/download/details.aspx?id=49982 Microsoft Build Tools 2015 https://www.microsoft.co…
前面在jenkins中安装的gitlab hook支持不同的参数,具体可以参考gitlab hook文档https://github.com/jenkinsci/gitlab-hook-plugin#parameterized-projects.其中BRANCH表示触发构建的分支名,我们可以在构建脚本中使用这个参数,进行不同的构建.要使用这个参数,需要在jenkins中进行配置 接下来就是要编写配置脚本了 找到”构建“, 点击“增加构建步骤", 选择“Execute shell", 然…
publish环境是正式环境,和dev, test, prepublish环境不同的是,正式环境一般要更加谨慎一些,发布的时候需要有一个灰度过程,即:分多次部署,每次部署几个服务器节点,验证没有问题以后,再部署几台,直到所有的节点多部署完成. jenkins提供的一种choice parameter的构建参数类型,可以使用这种参数类型实现灰度发布的功能. 添加一个名为DEPLOY的choice parameter, 添加两个选项group01, group02. 接下来修改构建脚本 ######…
1. 在gitlab上配置192.168.1.30的ssh秘钥,使jenkins可以操作gitlab上的project 进入gitlab,点击右上角 点击 Settings -> SSH keys 点击Add key, 添加 ssh key 2. 在jenkins中配置example-springbootmvc json 进入jenkins -> 新建 输入名称,选择“构建一个自由风格的软件项目" 点击确定 3. 配置git远程仓库地址 进入刚才新建的example-springbo…
https://www.jianshu.com/p/6ab73a95d53e https://yq.aliyun.com/articles/664329…
参考原档:https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/installation.md#using-https 本章只写重要的 Gitlab安装包括设置一下组件: Packages / Dependencies Ruby Go Node System Users Database Redis GitLab Nginx 1. Packages / Dependencies(可有可无的更新) # run as root…
目录 Jenkins持续集成学习-Windows环境进行.Net开发 目录 前言 目标 使用Jenkins 安装 添加.net环境配置 部署 结语 参考文档 Jenkins持续集成学习-Windows环境进行.Net开发 目录 Jenkins持续集成学习-Windows环境进行.Net开发1 Jenkins持续集成学习-Windows环境进行.Net开发2 Jenkins持续集成学习-Windows环境进行.Net开发3 Jenkins持续集成学习-Windows环境进行.Net开发4 Jenk…
尽管Thoughtworks的首席科学家Martion folwer 为“持续集成 ” 下了定义,但由于自身背景与经历的不同,每个人对其都有不同的理解.从狭义上讲,持续集成可以认为是一种基于某种或者某些变化对软件系统进行的经常性的构 建活动(注:这里的构建活动不仅指编译打包工作,还包含各类自动化测试.部署及发布活动).然而,它忽视了一点,即:任何实践中都应该包含“与人的交互” 这一因素.因此,从广意上讲,持续集成应该是软件开发团队在上述活动的约束下所采用的整个开发流程及活动.它强调开发团队与持续…
1. 前言 2016年, 我们维护的 iOS推流播放融合SDK KSYLive_iOS 在github上发布了40多个版本, 平均两周发布一个新版本, 经历了最初痛苦的全手动版本构建和维护, 到后来慢慢搭建起来的持续集成系统, 在这里简要的总结一下这个搭建过程中的一些实践经验. 1.1 持续集成的作用 持续集成系统主要在如下两个环节提供服务: 开发阶段(build), 开发人员提交代码后, 在服务端能够自动对提交的版本进行构建和测试, 保证提交能够编译,并自动测试通过的代码可以不给同事添麻烦,提…
前面我们已经通过jenkins+docker搭建了基本的持续集成环境,实现了服务的自动构建和部署,但是,我们遇到一个问题,jenkins构建出来的镜像部署后,需要通过ip:port去访问,有什么更好的方法吗?肯定是通过域名啊!前提是你注册一个域名,或者修改机器hosts文件. 本文介绍通过引入etcd+confd实现部署服务的自动注册,自动生成nginx配置文件,实现每个服务独立域名访问. 配置域名 假设你的域名是: example.com,那么我们可以规划 dev.$servicename.e…
持续集成概述及运行流程 : 持续集成概述 :持续集成(Continuous integration)持续集成是指开发者在代码的开发过程中 ,可以频繁的将代码部署集成到主干,并进行自动化测试  开发→代码编译→测试 持续交付:持续交付指的是在持续集成的环境基础之上,将代码部署到预生产环境 持续部署:在持续交付的基础上,把部署到生产环境的过程自动化   Jenkins概述 :是一个开源软件项目,是基于 Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持…
add by zhj: 先说一下持续集成的定义,这是ThoughtWorks首席科学家Martin Fowler在<持续集成>第二版中给出的,“持续集成是一种软件开发实践.在持续集成中,团队成员频繁集成他们的工作成果,一般每人每天至少集成一次,也可以多次.每次集成会经过自动构建(包括自动测试)的验证,以尽快发现集成错误.许多团队发现这种方法可以显著减少集成引起的问题,并可以加快团队合作软件开发的速度.” 这里是<持续集成>第二版的一些简单介绍:http://www.infoq.co…
Docker+Jenkins持续集成 使用etcd+confd实现容器服务注册与发现   前面我们已经通过jenkins+docker搭建了基本的持续集成环境,实现了服务的自动构建和部署,但是,我们遇到一个问题,jenkins构建出来的镜像部署后,需要通过ip:port去访问,有什么更好的方法吗?肯定是通过域名啊!前提是你注册一个域名,或者修改机器hosts文件.本文介绍通过引入etcd+confd实现部署服务的自动注册,自动生成nginx配置文件,实现每个服务独立域名访问. 配置域名 假设你的…
Martin的<持续集成> 相信很多读者和我一样,最早接触到持续集成的概念是来自Martin的著名文章<持续集成>,该文最早发布于2000年9月,之后在2006年进行了一次修订,它清晰地解释了持续集成的概念,并总结了10条实践,它们分别为: 只维护一个源码仓库 自动化构建 让构建自行测试 每人每天向主干提交代码 每次提交都应在持续集成机器上构建主干 保持快速的构建 在模拟生产环境中测试 让每个人都能轻易获得最新的可执行文件 每个人都能看到进度 自动化部署 原始文章距今已10年有余,…
相关文章: Ubuntu Docker 简单安装 GitLab 劈荆斩棘:Gitlab 部署 CI 持续集成 目的:在 Ubuntu 服务器上,使用 Docker 安装和配置 GitLab Runner,搭建 GitLab CI 持续集成环境. 服务器版本 Ubuntu 16.04 LTS. 安装命令: $ docker run -d --name gitlab-runner --restart always \ -v /srv/gitlab-runner/config:/etc/gitlab-…
1.前言 刚开始开发自己的独立博客的时候,每次发布都要手动打包,上传服务器,杀tomcat进程,重启,来回这么重复性工作,很快就有点不耐烦了.如果能自动化的东西,就绝不要手动了,所以自己搭建了个持续集成环境,配好了结合github进行push时自动构建,自动发布的流程,提交代码,泡杯咖啡就发布好了.本以为很简单,但没想到中间细节还是有不少坑,查了很多资料,墙都翻了好几次,把遇到的问题记录在这里. 2.正文 详细安装教程就不复制粘贴了,推荐此文手把手教你搭建Jenkins+Github持续集成环境…
前文使用Docker搭建Jenkins+Docker持续集成环境我们已经搭建了基于docker+jenkins的持续集成环境,并构建了基于maven的项目.这一节,我们继续扩展功能,增加对Nodejs的支持,实现nodejs项目构建.并打包成docker镜像和自动部署. 1. 配置Nodejs环境 1.1 安装nodejs插件 打开系统管理--管理插件--可选插件,搜索NodeJS,选择NodeJS Plugin安装 1.2 配置nodejs 版本 系统管理 -- 全局工具配置 -- NodeJ…
项目组除了常规的java项目,还有不少android项目,如何使用jenkins来实现自动构建呢?本文会介绍安卓项目通过jenkins构建的方法,并设计开发一个类似蒲公英的app托管平台. android 构建 安装android sdk: 先下载sdk tools 然后使用sdkmanager安装: ./sdkmanager "platforms;android-21" "platforms;android-22" "platforms;android-…
目录 Jenkins持续集成学习-Windows环境进行.Net开发4 目录 前言 目标 Github持续集成 提交代码到Github 从Github更新代码 git上显示构建状态 自动触发构建 Gitlab持续集成 安装插件 配置Gitlab账号 配置Git地址 配置钩子 通知Gitlab状态 结语 参考文档 Jenkins持续集成学习-Windows环境进行.Net开发4 目录 Jenkins持续集成学习-Windows环境进行.Net开发1 Jenkins持续集成学习-Windows环境进…
参考: 搭建GitLab+Jenkins持续集成环境图文教程 https://blog.csdn.net/ruangong1203/article/details/73065410 Jenkins中配置多项目SCM  https://blog.csdn.net/itfootball/article/details/45061093 Additional Behaviours-->Check out to a sub-directory…