(译文)Golang微服务-第九章-用CircleCI部署

欢迎大家在Patreon上向我提供更多诸如此类的素材。

在本系列的这一章节,我们将简要介绍使用CircleCI与我们的其中一项服务建立持续集成。

CircleCI是一款不可思议的工具,它有一个非常实用的免费平台。这个平台就是SaaS, 因此与Jenkins不同的是,它是被完全管理的。同时它的配置和建立非常直截了当。此外,CircleCI也使用Docker图片,所以你可以在如何管理你的构建上有很多创意。

确保你已经注册并且创造了账户。首先让我们在Circle中新建一个工程。在左侧菜单中,点击“add project”。如果你已经将你的github账户连接到你的Circle账户,你应该可以看到你的微服务git仓库出现在列表中。点击“follow project”。
你会看到一个请求页面,你可以选择你
乐于使用的操作系统和语言。确保Linux和Go被选中。然后点击开始构建。

这将创造一些默认的配置,但是我们需要在我们的构建能开始正常工作之前,增加我们自己的配置到此代码仓库中。

所以在我们的服务中(我将为此使用我们的委托服务),在项目根目录新建一个文件夹.circleci,然后在此文件夹下新建一个文件config.yml。现在让我们开始增加我们的构建配置。

为了使之生效我们需要做一些事情,我在评论中已经谈到了这一点,但它是一个重要的步骤,所以我想重申这一部分。

我们需要谷歌云服务钥匙,正如我们在第七章创建的那个,然后我们需要将此钥匙加密成base64并作为我们构建工程设置中的一个环境变量来存储。

因此找到你的谷歌云服务钥匙,然后运行$ cat .json | base64,并复制得到的字符串。回到CircleCI你的项目来,点击右上方的齿轮,然后选择左边栏目中的环境变量。新建一个环境变量,命名为GCLOUD_SERVICE_KEY,然后粘贴前面得到的base64字符串作为其值,并保存。

上述操作可以在circleci内保存任何安全信息,且使代码仓库不熟任何敏感数据影响。它将这些访问密钥保存在操作团队的控制之下,而不仅限于任何可以访问代码仓库的人员。

现在我们的构建配置中,用来对我们组进行身份验证的变量,其内容被解码为一个文件。

大功告成,相当简单。我们拥有CI作为我们的一个服务。作为一个产品服务,在你执行部署步骤之前,你可能会首先运行你的测试用例。查看这篇文档然后看看你能用circle做哪些有趣的东西。由于circle使用Docker容器,你甚至可以加一个数据库容器,以便于你运行集成测试。发挥你的创造力,最大限度使用这些特性。

如果你觉得这一系列的文章对你有用,且你装了广告拦截器(没有人会责怪你),考虑打赏一下我撰写这些文章所付出的时间和努力吧!谢谢!
https://monzo.me/ewanvalentine

或者,在Patreon上向我提供更多诸如此类的素材。

原文地址:https://ewanvalentine.io/microservices-in-golang-part-9

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值