buildbot环境搭建—master篇

好久没写博客来,最近没有深入研究东西,所以写不出什么特别有技术含量的东西,但是,每周出产博客的习惯不能荒废掉,所以就写一下,这个星期学习的简单到东西。

关于buildbot,它是基于python的一个可持续集成的自动构建框架,详细的介绍可以参考官网上的说明:http://docs.buildbot.net/current/manual/introduction.html,后期我将会进行深入学习,并且翻译该介绍发布到博客来。

其实呢,网上还是有很多该环境搭建说明的,但是很多都是复制别人然后发布到博客上就算了的,我个人是不大喜欢这样子到,因为第一方面,没有自己到观点,第二方面,可能实际遇到到一些问题,没有提到,让很多人百思不得其解,第三方面,导致网络数据冗余,我们搜索想要的答案时,会出现一堆重复到答案,让自己感觉到厌倦与烦躁。

好了,直接进入主题吧.

首先,我的环境是python2.7,为什么不选用3.x呢?

1)buildbot官网上推荐使用这个版本

2)python3.x相对于python2.x有很大到改变,基本上可以说3.x不向上兼容,于是造成当前很多2.x到库不能在3.x上运行

2)目前网络上很多资料和库都算基于python2.x的

接着就讲buildbot的环境搭建吧,buildbot 的环境搭建方式有多种,分别是

1)通过sudo apt-get install buildbot,然后就会在线帮助你安装所有到相关的东西,不仅仅是buildbot-master, 包括buildbot-slave等等,但是我不喜欢这种方式,感觉不可控,因为我到ubuntu不是很熟悉,所以我不知道它装在哪里了,只知道在user/bin下有buildbot和buildbot-slave这两个可执行文件。

2)通过easy_install或者pip安装,这个也算官网上推荐的最简单的安装方法,见网址:http://trac.buildbot.net/wiki/DownloadInstall ,但是,由于我个人网络问题,总是安装到一半就卡住了,于是我也没有使用这种方式。

3)直接在官网上下载相应的压缩包,解压运行setup,py文件进行安装。

上面到三种方式中,我们主要讲解第三种方式吧,其实这种方式是间接到通过python脚本调用easy_install来进行安装的,好吧,现在我们开始讲解吧。

一、安装包的下载

进入http://trac.buildbot.net/wiki下载master压缩包

1)如果下载的是tar.gz 压缩包,就使用 tar -zxvf {buildbot master} 来进行解压

2)如果下载的是.zip压缩包,就使用unzip {buildbot master}来进行解压

两种方式都是直接解压到当前目录下的。

二、master的安装

按照官网上说的执行以下两步命令:

python setup build

sudo python setup install

其实呢,第一步python setup build这部可以不执行。

注意:

如果没有安装easy_install,先执行命令 sudo apt-get install python-setuptools 来进行安装,前面有说到,setup.py脚本中会调用到easy_install来进行安装。

当然,如果你是刚装了ubuntu,直接利用ubuntu自带到python的,就要执行命令

解压后进入master目录下,按照官网上说到的执行 sudo apt-get install python-dev 安装python-dev,否则会遇见错误Setup script exited with error: command 'gcc' failed with exit status

安装了之后,我们可以通过执行buildbot --version来查看是否安装成功。

aaarticlea/png;base64,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" alt="" />

基本上,安装就这两步,但是,在这过程中,总会遇到一些问题对吧,比如网络问题,很坑到,下面我给出一些建议吧。

1)先按照上面到步骤执行setup.py文件,如果遇到网络问题到,安装脚本一直卡在那里不懂很久,可以先中断执行,然后复制控制台上显示到那个网址,自己上去下载对应到版本来安装。然后再次启动脚本进行安装是可以检测到它已经安装了的。这个得注意版本兼容问题哦,当然,自动终止来也可以这么做。

2)我在安装之后,进行buildbot create-master master的时候,总是报错一个错误ImportError: cannot import name exceptions,然后很坑,我找了半天,其实这个时候,去官网查看寻找答案是最好的来。具体的错误描述见:http://trac.buildbot.net/ticket/2476,在这个网站上,我们可以看到问题描述中到一句话:due to an incompatibility with sqlalchemy-migrate==0.7.2 and SQLAlchemy==0.8.0,经过一番研究,从SQLAlchemy Migrate 的官网https://sqlalchemy-migrate.readthedocs.org/en/latest/上我们可以看到这么一句话

Currently, sqlalchemy-migrate supports Python versions from 2.6 to 2.7. SQLAlchemy Migrate 0.7.2 supports SQLAlchemy 0.6.x and 0.7.x branches. 

说明这个最新版本到SQLAlchemy Migrat仅仅支持0.7.x版本的SQLAlchemy 0.7.10,所以如果你那里出现来这个问题,那么就是版本冲突问题来,只要把SQLAlchemy换成0.7.10版本即可。

上一篇:MySQL内连接、外连接、交叉连接


下一篇:mac 终端 svn 命令(转)