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来查看是否安装成功。

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

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版本即可。

 

 

posted @ 2019-01-23 23:18 小学徒V 阅读(...) 评论(...) 编辑 收藏