gitlab与docker的集成(续的续的续)gitlab与k8
2018-07-02 本文已影响142人
GoddyWu
遗留了几个优化的点,今天来完善一下。无意间发现,如果想使用docker hub自动创建镜像,还蛮麻烦,稍微讲一下操作。
- [ ] docker hub auto build
- [ ] 隐藏掉k8s权限文件
- [ ] readme添加pipeline的状态
一、docker hub auto build
示例项目
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)
效果: