Buddy 自建企业版的使用体验

这篇文讲什么?

介绍 Buddy on-premises 的使用体验:

  • 我是如何安装的。
  • 做了哪些配置。
  • 怎么使用

这篇文对谁有用?有什么用?

对谁有用?:想用 Buddy 搭建 CI/CD 或其他自动化工作流的人。
有什么用?:节省时间

介绍


Buddy 是一个帮助自动化测试和部署 (CI/CD) 的工具

正文

Buddy 免费版是1个月120次 execution

然后它们提供一个自建选项,就是装在自己的机器上。30天试用

我因为刚好手头有一个 Azure 的免费试用。就打算用下图这台机器装一下试试

装的是 Linux 版

安装倒也简单,跑一条命令就够了。

安装等了可能有10分钟。

有个小问题是 ip 地址写错了,
给我返回的是 http://10.0.0.6 让我访问(大概是这个地址,不记得了)
这个显然不行
所以只能跑如下命令:

sudo buddy stop
sudo buddy configure

然后把 Azure 那个外网 IP 填进去:137.117.103.40
好像最后一步是 sudo buddy start 再开起来

Buddy 的安装就此完成

接下来是使用部分

代码仓库的部分我选的是 Github。需要做一定配置。
要去这个网址:https://github.com/settings/developers

新建一个应用

然后把 Github 这里的 Client ID, Client Secret 填到 Buddy 里面去

填入 Buddy

以上,Github 配置部分就完成了

Buddy 现在可以从你的 Github 账号上拿到代码了。

正式使用

我新建了一个 Ruby on Rails 5.2.2 项目用来测试。
在 Github 上面叫 rails-buddy-cd。
在 Buddy 里面新建项目就也叫同名了。

目前只有一个动作,就是用 Dockerfile 构建镜像然后推送到 Azure

我配置到推送到 Azure 的 Container Registry

账号密码你需要在 Azure 这边找一下,如下图:

我这里很快就成功了。

补充1:镜像命名

  1. Docker 镜像的 name 和 tag 可以手写。

    可以看到推到 Azure 上就是这样的:

  2. 也可以用环境变量来控制 name 和 tag。
    比如 Buddy 有如下环境变量。

    然后 name 和 tag 这里写

    可以看到推上去之后就是分支和 commit 名字。

    因为 Github 上就是这样的:

补充2:如何回滚?(rollback)

有时候做错事情了可能需要回滚到上一个版本。
https://buddy.works/knowledge/deployments/how-deploy-specific-revision-to-server
这个链接里的文档有说,其实就是在跑的时候选就行了,如下图:

点击这里

选一个 commit

然后运行就行了。

补充3:如何手动确认?

有时候你可能不想要全自动的流程。希望某个步骤要手动确认下。
比如部署需要手动确认。

那么可以加一个 "Waiting for approve" 的 Action。

可以看到下图这里就2个 Action。先 build 镜像然后等待 Approve。
在这里只是举例子,所以并没有什么卵用。Approve 后面没有任何动作。

可以看到 build 之后会提示需要 Approve

点击之后是这样的:

确定之后就完成了:

这个信息你可以任意设置

补充4:如果有的话再补