本文介绍下"代码提交自动部署到云原生并实时查看服务的运行状态"运行环境的搭建过程
k8s方式安装gitlab
下载gitlab yaml文件
git clone https://gitee.com/pingfanrenbiji/gitlab
安装postgresql、redis、gitlab
- 镜像下载
docker pull sameersbn/postgresql:10
docker pull sameersbn/redis
docker pull sameersbn/gitlab:11.8.1
- k8s部署
kubectl apply -f .
查看启动情况
kubectl logs -f gitlab-7cc4bd85ff-459lf -n kube-ops
截止目前都启动成功了
gitlab的ingress域名是gitlab.demo.com
暴露的http.nodePort端口是30003
所以可以通过
访问
账号:root/admin321
域名配置
sudo vim /etc/hosts 172.16.0.114 gitlab.demo.com
访问url是http://gitlab.demo.com:30003
是否可以直接通过域名访问呢即http://gitlab.demo.com
那么就需要通过nginx做下代理转发
docker run --name=nginx --volume=/opt/docker/nginx03/html:/usr/share/nginx/html --volume=/opt/docker/nginx
mengfaniaodeMBP:nginx03 mengfanxiao$ cat conf/conf.d/gitlab.conf server{ server_name gitlab.demo.com ; access_log /var/log/nginx/gitlab.access.log main; error_log /var/log/nginx/gitlab.error.log notice; location / { proxy_pass http://gitlab.demo.com:30003/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
这样就可以通过http://gitlab.demo.com/域名直接访问了
查看gitlab-runner所需的配置信息
- gitlab地址 http://gitlab.demo.com/
- token BZncyg6pxxN6ugtKzFnm
二进制方式部署gitlab-runner
官方部署文档
https://docs.gitlab.com/runner/install/osx.html
我是在本地mac环境部署的 其他操作系统请自行选择安装版本
# 下载二进制文件 sudo curl --output /usr/local/bin/gitlab-runner "https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-darwin-amd64" # 设置执行权限 sudo chmod +x /usr/local/bin/gitlab-runner # 启动 gitlab-runner install gitlab-runner start
查看启动情况
这里需要注意 如果gitlab地址写成http://gitlab.demo.com/
那么就说明 gitlab-runner访问gitlab是通过nginx访问的
这里建议直接访问gitlab不经过nginx即gitlab地址写成
注册成功之后就可以在gitlab上看到gitlab-runner这个执行器了
创建新的仓库
比较简单具体就不演示了
这里需要说一点就是
本地代码可以直接上传到gitlab
而不经过nginx
因为nginx对于http请求的限制可能会影响代码的提交
# 在项目跟目录下 git config -e
安装docker镜像仓库
docker run --name=registry --volume=/opt/docker/registry:/var/lib/registry -p 5000:5000 -d --restart=always registry
编写gitlab-ci.yaml文件
https://gitee.com/pingfanrenbiji/gitlab/blob/master/.gitlab-ci.yml
配置maven环境变量