问题描述:
在局域网内搭了了一个gitlab,最近有需求要用CI
那时我不在 ,他们尝试了一段时间的Jenkins,但是还没有成功,我说gitlab已经有这些功能了,不用那个。于是一个人搞起来了。
从开始用到现在,大致用了不到一天的时间。特来记录一下。
刚开始弄不清gitlab
和Runner
的区别,以为gitlab
已经有这个功能了,直接修改配置文件开启就行了。后来看文档明白了。GitLab Runner
需要额外安装,可以跑在一个单独的机子上。要求这个机器需要能够访问gitlab
步骤
### 安装ubuntu Server
### 为ubuntu Server安装Docker
### 将 gitlab Runner
安装为docker 服务
docker run -d --name gitlab-runner --restart always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /srv/gitlab-runner/config:/etc/gitlab-runner \
gitlab/gitlab-runner:latest
### 进入容器 docker exec -it gitlab-runner bash
### 修改hosts文件vim /etv/hosts
192.168.1.116 gitlab.xxxx.com //你的gitlab ip 地址和域名
### 注册runner
gitlab-runner register
输入你的注册信息
token之类的信息在admin/runners
可以看到,需要 root
用户登陆gitlab
设置成功页面(docker 之后一路点回车,runner会被设置为共享的,每个项目都可以用)
登陆gitlab查看Runner信息
编辑runner,将runner 分配给相应的项目
进入项目在项目的根目录中创建文件.gitlab-ci.yml
,一定是根目录,内容如下:
提交之后就会自动运行了
报了一个SDK版本错误,上了dockerhub一看才知道,原来弃用了,以后没有microsoft/aspnetcore-build
改为了microsoft/dotnet
,变更说明
修改错误之后。终于成功了。
参考资料
https://docs.gitlab.com/runner/install/docker.html
https://dotnetthoughts.net/building-dotnet-with-gitlab-ci/
http://www.cnblogs.com/xishuai/p/ubuntu-install-gitlab-runner-with-docker.html