docker-Gitlab、GitLab Runner安装

以下操作均在CentOs下操作

1、Gitlab install

① 启动gitlab

docker run --detach \
  --hostname 115.30.149.35 \
  --publish 8888:8888 --publish 24:22 \
  --name gitlab \
  --restart always \
  --volume /data/docker/gitlab/config:/etc/gitlab \
  --volume /data/docker/gitlab/logs:/var/log/gitlab \
  --volume /data/docker/gitlab/data:/var/opt/gitlab \
  --privileged=true \
  gitlab/gitlab-ce:latest

--hostname 当前服务器的域名

--publish 24:22 SSH访问端口 默认22:22

--publish 8888:8888 http访问的端口 默认是80:80

--publish 443:443 https访问的端口

--privileged=true 授权

--volume 三个卷挂载gitlab的数据,需要提前创建好

443是https端口 80默认是http端口 根据官网文档,更改端口需要更改对应的配置文件。所在的配置信息存放在

/etc/gitlab/gitlab.rb。映射在主机的/data/docker/gitlab/config。

② 配置GitLab

由于我们没用使用默认的暴露端口,因此需要修改 /data/docker/gitlab/config/gitlab.rb

Ⅰ、修改external_url:

# For HTTP external_url "http://115.30.149.35:8888"

or

For HTTPS (notice the https)

external_url "http://115.30.149.35:8888"

Ⅱ、修改gitlab_shell_ssh_port:

itlab_rails['gitlab_shell_ssh_port'] = 24

更多配置信息可以参考官方文档。

③ 重启gitlab

docker restart gitlab

④ 访问gitlab

浏览器输入 http://115.30.149.35:8888

微信截图_20200202103524

官方建议4G内存,启动gitlab很吃CPU。

1核2G gitlab启动服务器卡死。解决方案:

https://yq.aliyun.com/articles/52098

2、Gitlab Runner Install

①安装gitlab-runnner rpm包

在这里选择适合你系统的gitlab runner包https://gitlab-runner-downloads.s3.amazonaws.com/latest/index.html

curl -LJO https://gitlab-runner-downloads.s3.amazonaws.com/latest/rpm/gitlab-runner_amd64.rpm

②安装rpm 包

rpm -i gitlab-runner_amd64.rpm

③注册Runner

Ⅰ、Run the following command

gitlab-runner register

Ⅱ、Enter your GitLab instance URL:(GitLab实例地址,上面GitLab的地址)

Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com )
http://115.30.149.35:8888

Ⅲ、Enter the token you obtained to register the Runner(输入注册Runner的token):

Please enter the gitlab-ci token for this runner
hUCad4cXYPEKTt

token所在地方:

​ 1、登入GitLabhttp://115.30.149.35:8888

​ 2、点击工具刀

image-20200202105115209

​ 3、Overview->Runners

image-20200202105244186

红色框里面即为token。

Ⅳ、Enter a description for the Runner, you can change this later in GitLab’s UI(添加Runner描述):

Please enter the gitlab-ci description for this runner
my-runner

Ⅴ、Add a Tag

Please enter the gitlab-ci tags for this runner (comma separated):

Ⅵ、Enter the Runner executor:

Please enter the executor: ssh, docker+machine, docker-ssh+machine, kubernetes, docker, parallels, virtualbox, docker-ssh, shell: 
shell

④刷新GitLab页面

image-20200202105927183

可看到注册的Runner。

3、提交项目到gitlab

1、创建一个项目

2、按照提示将我们的项目提交到gitlab上(Push an existing folder)

git remote add origin http://115.30.149.35:8888/root/miniserver-userapi.git

image-20200131121109611

关闭VS

image-20200131121425770

git push 的提示要输入gitlab的用户名和密码

编写以下.gitlab-ci.yml文件(需要放在整个项目的根目录)

提交 在具体的project 的CICD下即可看到项目在跑

4、问题集合

问题一、

image-20200201113817157

docker gitlab 的用户组没有加入docker

usermod -aG docker gitlab-runner
sudo service docker restart
问题二、某次CI失败后再启动

fatal: git fetch-pack: expected shallow list

fatal: The remote end hung up unexpectedly

原因是git版本太老不持之新API,需要升级一下git:

#安装源
yum install http://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-2.noarch.rpm
#安装git
yum install git
#更新git
yum update git

参考资料:

Gitlab:https://docs.gitlab.com/omnibus/docker/

GitLab Runner:https://docs.gitlab.com/runner/install/linux-manually.html

posted @ 2020-02-02 11:29  罗智炼  阅读(2407)  评论(0编辑  收藏  举报