Devops搭建记录—gitlab
现在各个服务都起来了,可以开始配置gitlab和CI/CD了
gitlab本身
主要就配一个gitlab.rb中的extern_url和ssh_port即可,没啥特别好说的
ci/cd
需要准备的内容
- DNS: 镜像管理需要放在内部的docker-registry中,所以需要配置一下DNS
- goproxy: golang的代码编译需要配置goproxy
- gitlab-runner:
dns配置
k8s的dns使用coreDNS提供服务,在kube-system下存在名为coredns的configmap,在其中增加hosts插件配置即可。
kubernetes配置coredns-configmap – SRE笔记
主要增加以下几个配置
- gitlab
- registry
- goproxy
最最后,别忘了在边缘的envoy中增加响应的路由规则
goproxy
goproxy采用七牛云开发的goproxy库搭建,简单又快捷
七牛云 - Goproxy.cn
gitlab-runner
gitlab的runner设置中已经给了很详细的配置过程,此处不再赘述。
需要注意的是,由于我懒得给不同的repo打上tag,所以需要在runner开始工作之前,打开为不含tag的repo提供服务的开关
runner配置
需要注意以下几个配置
- [runners.docker]network_mode=”host”
- [runners.docker]volumes=[“/var/run/docker.sock”] # 否则在CD里不能正确连上宿主机的Docker
- [runners.docker]pull_policy = “if-not-present”