Devops搭建记录--Gitlab配置

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”