美文网首页自动化程序员
如何实现自动更新 Rancher 上的应用

如何实现自动更新 Rancher 上的应用

作者: 51reboot | 来源:发表于2018-04-20 15:26 被阅读171次

    前言

    关于 rancher 的使用方式大家请参考官网。现在有个问题如果我们需要在每次 ****CI**** 构建结束之后都自动更新 rancher 上的 service 该怎么办?

    Rancher 官方有提供一个 APIhttps://rancher.com/docs/rancher/v1.6/en/api/v2-beta/)通过他我们可以方便的管理 rancher 的各个功能。

    当然,本作者也写了一个小工具来更新 service

    https://github.com/Indexyz/rancher-webhook-update

    如何使用

    现在就适配了在 gitlab 的 CI 构建完成之后来更新 service。

    为什么选择 gitlab ?

    原因有两个

    1. GitLab 提供免费的 Registry 可以在每次构建成功之后直接从他的 Registery 中拉下映像

    2. GitLab 支持免费私有 Repo

    简单来说就是因为穷

    安装

    修改 config.py 中的内容为你的配置文件

    当然这些配置项都是可以通过环境变量来设置的

    这样可以方便我们直接在 Docker 中跑起来项目 或者是在 Heroku 上托管

    运行

    直接 gunicorn main:app --log-file=- 然后就运行了一个在 :8080 上的服务器。

    配置

    GitLabSettings > Integrations 添加 Webhook

    通过 random.orghttps://www.random.org/)来生成高强度的 Secret Token

    我们在下面的多选框中选中 Pipeline events 并且输入我们的 updater 的地址。

    地址 的格式为:

    http(s)://url-of-updater/webhook/gitlab/{prject-id}/{service-id}
    

    然后 在每次构建成功的时候就会自带推送了!

    转载
    感谢作者:Indexyz
    原文链接:https://blog.indexyz.me/2018/02/03/automatic-deploy-rancher/

    公告通知

    自动化运维班、架构师班、区块链正在招生中

    各位小伙伴们,欢迎试听和咨询:


    扫码添加小助手微信,备注"公开课,来源简书",进入分享群

    相关文章

      网友评论

      本文标题:如何实现自动更新 Rancher 上的应用

      本文链接:https://www.haomeiwen.com/subject/nvzakftx.html