zoukankan      html  css  js  c++  java
  • 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版本即可。

  • 相关阅读:
    .Net程序员安卓学习之路6:等待条
    .Net程序员安卓学习之路5:使用xutils注入View和事件以及图片的显示
    .Net程序员安卓学习之路4:使用xutils Get Post数据
    【MySQL笔记】: unable to connect to remote host. catalog download has failed.
    【MySQL笔记】mysql报错"ERROR 1206 (HY000): The total number of locks exceeds the lock table size"的解决方法
    【MySQL笔记】Excel数据导入Mysql数据库的实现方法——Navicat
    【MySQL笔记】MySql5安装图解教程
    【R笔记】R的内存管理和垃圾清理
    【R笔记】glm函数报错原因及解析
    【R笔记】给R加个编译器——notepad++
  • 原文地址:https://www.cnblogs.com/xiaoxuetu/p/3237209.html
Copyright © 2011-2022 走看看