美文网首页
gitlab,jekins, rancher自动化部署

gitlab,jekins, rancher自动化部署

作者: ZT5250Z | 来源:发表于2020-05-14 15:13 被阅读0次

    gitlab,jekins, rancher自动化部署

    gitlab 关联jekins实现自动打包

    • step1:

    进入 jekins配置页面->BuildTriggers
    勾选Build when a change is pushed to GitLab. Gitlab CI service URL: http://xxxxx/jenkins/project/xxxx

    点击advance按钮,在展开的页面中点击Generate按钮,将生成的secret token保存记录下来

    • step2:

    进入到gitlab指定仓库目录下面,依次进入setting->Integrations
    在页面中输入相关jekins的信息主要包括:URL和secret token(可以从step1的操作中获取到),确认信息之后,点击Add webhook按钮,一个webhook即可添加成功,可以点击Test按钮来测试是否将gitlab与jekins关联成功,如果关联成功,gitlab的这个仓库有push操作就会触发这个webhook,并关联jekins自动构建

    jekins关联rancher实现自动部署

    • step3:
      进入rancher页面,点击API下拉框中的webhook选项,进行receiver hooks的添加操作,点击添加接收器按钮,填写名称(随意填写),选择类型(扩缩容服务,扩缩容主机,升级服务),我们需要做自动升级操作,这里选择升级服务,选择镜像仓库webhook参数格式,填写镜像标签(对应镜像的版本号),添加选择器标签(需要提前在rancher容器上添加标签,以便用来匹配到需要升级的服务)
    • step4:
      进入jekins配置页面->Build, 点击Add build step按钮,选择“执行shell/excute shell”,添加一段脚本,用来触发rancher上添加的webhook
      注:这里添加的脚本本质上就是发送一个post请求,请求地址可以从step3中创建的webhook获取,请求脚本示例:

    curl -X POST -H "Content-Type: application/json" -d '{
    "push_data":{"tag":"2.4.1"},
    "repository":{"repo_name":"registry.xxx.com/xxxxxxxxxx"}
    }' "http://xxxxxxxxxxxxx"

    说明:(这里可以在postman中发送请求测试,成功之后可以从postman中直接复制curl脚本)
    请求参数中的tag为rancher上创建的webhook中的镜像标签
    请求参数中的repo_name为docker镜像名称
    最后的地址为webhook触发地址

    相关文章

      网友评论

          本文标题:gitlab,jekins, rancher自动化部署

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