gitlab与docker的集成(续的续的续)gitlab与k8s集成(续的续)优化

遗留了几个优化的点,今天来完善一下。无意间发现,如果想使用docker hub自动创建镜像,还蛮麻烦,稍微讲一下操作。

  • [ ] docker hub auto build
  • [ ] 隐藏掉k8s权限文件
  • [ ] readme添加pipeline的状态

一、docker hub auto build

示例项目

  • https://github.com/Goddywu/kubectl-in-docker
  • https://hub.docker.com/r/goddy/kubectl/

1)在github创建repository,存放好相关文件
2)打开https://hub.docker.com,登陆,选择自动创建


3)选择github中的相应项目
4)勾选auto,创建规则

楼主没深入了解,有兴趣的自己详细一下,评论区贴出链接呗

二、隐藏掉k8s权限文件

代码库:https://gitlab.com/goddy-test/gitlab-cd-test/tree/v1.1.0

隐藏代码的思路,就是把对应配置文件放到镜像里打包成新的镜像。我们只需要使用新的镜像来使用kubectl --kubeconf xxx.conf就可以啦。

示例的Dockerfile:

#路径可以自由选择,建议使用绝对路径
FROM goddy/kubectl:v1.0.0
COPY conf /usr/local/bin/conf

这里的kubeconfig路径要使用我们新镜像的路径就可以了。

k8s-deploy:
  stage: deploy
  image: goddy/kubectl:xxx1.0
  only:
    - master
    - dev
  script:
    - export tag=$tag
    - envsubst < gitlab-cd-test.yaml | kubectl --kubeconfig /usr/local/bin/conf -n dev apply -f -

此时,我们就可以把项目中的k8s权限文件去除掉了。

三、readme添加pipeline的状态

建议参考https://gitlab.com/gitlab-org/gitlab-ce/blob/master/README.md

这里只提供楼主的

[![Build status](https://gitlab.com/gitlab-org/gitlab-ce/badges/master/build.svg)](https://gitlab.com/goddy-test/gitlab-cd-test/commits/master)

效果:

你可能感兴趣的:(gitlab与docker的集成(续的续的续)gitlab与k8s集成(续的续)优化)