devops 自动构建_构建一个DevOps仪表板

到目前为止,您已经学到了:

而且由于DevOps的组织方面与技术方面同样重要,因此我还规定了打破传统开发和运营孤岛以增强团队合作和沟通的方法。

当您用代码描述整个软件系统并将其提交到版本控制存储库时,更改就会频繁发生,这非常需要团队或组织中的每个人都需要准确的实时反馈。 在敏捷DevOps系列的最后一篇文章中,您将学习如何将所有这些反馈结合在一起,并通过DevOps仪表板以易于理解的形式呈现它。 您组织中的所有跨职能团队成员都可以使用仪表板来了解正在开发和生产中的系统的状态。 然后,他们可以根据实际情况做出明智的决定,而不是基于更具直觉的团队成员的看法。

介绍CanaryBoard

CanaryBoard是一个基于Stashboard开源工具(基于大型云提供商的工具)建模的开源工具。 CanaryBoard旨在按项目提供应用程序或服务状态的日志,但是您可以对其进行自定义以显示您选择的内容。 您可以使用纯开放源代码平台运行CanaryBoard。

图1显示了我自定义的仪表板,以显示项目的某些DevOps指示器(环境,构建,测试和部署)的状态。 通过在每次代码签入发生时运行脚本,我可以自动更新仪表板以为每个指示器提供实时状态。

图1.使用CanaryBoard的DevOps仪表板状态
使用开源CanaryBoard框架的仪表板的屏幕截图。仪表板显示四个DevOps指示器:环境,构建,测试。和部署。最左侧的列提供了这些DevOps指示器的最新状态。

您可以自定义CanaryBoard仪表板,以显示对您的团队或组织重要的任何内容。 您还可以创建多个仪表板以反映组织中的各个级别。 还可以使用许多其他仪表板平台,这些平台可以与您可能已经在使用的其他工具集成在一起。 有些仪表板平台是免费和开源的,而其他仪表板平台则需要按月收费。 作为开发人员,我希望不仅可以完全控制自定义,还可以完全控制软件可以运行的平台。 这就是为什么我的公司创建CanaryBoard的原因。

设置DevOps仪表板

要在Linux®实例上启动并运行CanaryBoard工具,请启动和访问计算实例,安装所需的软件包,下载并配置文件,然后运行CanaryBoard。

步骤1:下载并启动服务器

下载Ubuntu的LTS 12.04服务器(请参阅相关信息中的链接到下载页面)。 然后启动您的Ubuntu实例。

步骤2:安装套件

ssh到服务器并运行在所述安装导轨上在https://github.com/stelligent/canaryboard/的CanaryBoard自述的Ubuntu 12.04 LTS部分中描述的命令(见相关主题 )。 通过运行命令,您将安装所有必需的软件包,包括Ruby Version Manager(RVM),Ruby,Git和Rails。 (如果您使用的不是apt-get打包系统,例如yumrpm ,请相应地修改命令。)

既然您已经安装了所有软件包,就可以安装,配置和运行CanaryBoard了。

步骤3:安装,配置和运行CanaryBoard

CanaryBoard是由Stelligent开发并托管在GitHub上的Rails应用程序和RESTful API。 您需要遵循一些简单的步骤来启动和运行应用程序。 这些步骤包括从Git存储库获取最新副本,安装CanaryBoard所需的所有Ruby gem,设置数据库并为其设置种子,运行自动化测试以及启动Rails服务器。 你会找到确切的步骤在CanaryBoard自述的安装CanaryBoard部分来(看相关主题 )。

通过在浏览器中键入http://localhost:3000 ,为您的CanaryBoard应用程序启动网站。 (如有必要,将localhost更改为您的服务器位置。)确保端口3000可用。

您应该看到一个空的状态板,如图2所示:

图2.准备配置的空白仪表板
使用CanaryBoard框架创建的空仪表板的屏幕截图

单击Log in链接以显示类似于图3的登录屏幕:

图3. CanaryBoard登录屏幕
CanaryBoard Rails应用程序的登录屏幕。

输入默认用户名( admin )和默认密码( admin )。 登录后,单击配置文件链接,然后单击编辑以将您的密码更改为默认密码。

要运行本文的示例代码,您需要获取在数据种子设置中设置的API密钥。 返回您的配置文件(http:// localhost:3000 / profile)并复制API密钥值。 图4显示了带有API密钥的配置文件屏幕的示例:

图4.用于获取API密钥的用户配置文件
CanaryBoard用户配置文件页面的屏幕截图,其中显示了API密钥

以编程方式更新DevOps仪表板

您将使用两个可定制的Ruby脚本set-indicators.rb和update-indicators.rb通过CanaryBoard REST API创建仪表板的指示器。

从Linux服务器命令提示符处开始,并创建一个名为set-indicators.rb的新Ruby文件。 转至设置indicators.rb文件,通过在CanaryBoard自述(见的使用CanaryBoard部分超链接是可用的相关信息 ),并对其内容粘贴到您刚刚创建的设置indicators.rb文件。 如果您不在本地主机上运行服务器,请用服务器的位置替换API_URL变量值的localhost部分。 将API_KEY值从changeme更改为您从CanaryBoard配置文件页面获得的值。 您稍后将运行set-indicators.rb脚本。

现在,从Linux服务器的命令行中,创建一个名为update-indicators.rb的新Ruby文件。 转至更新indicators.rb文件,通过在CanaryBoard自述(见的使用CanaryBoard部分超链接是可用的相关信息 ),并对其内容粘贴到您刚刚创建的更新indicators.rb文件。 如果您不在本地主机上运行服务器,请用服务器的位置替换API_URL变量值的localhost部分。 将API_KEY值从changeme更改为您从CanaryBoard配置文件页面获得的值。

通过使用以下命令运行Ruby程序(假设您的set-indicators.rb和update-indicators.rb文件位于实例的主目录中):

sudo ruby ~/set-indicators.rb sudo ruby ~/update-indicators.rb

在浏览器中,转到https:// localhost:3000 /(或等效名称)以查看您创建的服务和事件的结果。 运行update-indicators.rb中的代码时,它将更新脚本中列出的服务的所有事件。 通过单击仪表板中的任何指示器,您可以查看这些事件的历史记录。 如果希望此脚本在每次代码检入时都运行,则可以从Continuous Integration服务器中调用它,也可以通过cron或其他调度系统运行它。 图5显示了Deploy服务的示例结果:

图5. Deploy服务指示器的事件日志
CanaryBoard页面的屏幕截图,其中显示了为Deploy指示器记录的事件的历史记录。每行都包含与部署相关的事件的带有日期和时间戳的描述。

set-indicators.rb和update-indicators.rb脚本是针对特定服务进行硬编码的,但是您可以使所有代码动态化。

结论

敏捷DevOps系列的最后一篇文章中,您学习了如何使用开源CanaryBoard工具为开发和运营中的所有团队成员提供持续的反馈。 许多系统和应用程序监视工具提供了大量丰富的信息,您可以将这些信息合并到DevOps仪表板中,以帮助工程师和其他人员做出更明智的决策。

在过去的几个月里,与您分享我的经验是一次巨大的冒险。 我在本系列文章中的目标是展示如何以及为什么要从传统上完全不同的团队和文化中学习最佳方法和实践:开发和运营。 我鼓励您将软件视为整体的集成系统,而不是将其“扔给组织中的另一个团队”。


翻译自: https://www.ibm.com/developerworks/opensource/library/a-devops10/index.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值