REPOSITORY TAG IMAGE ID CREATED SIZE
gitlab/gitlab-runner latest f726de7cf9ee 11 days ago 443MB
gitlab/gitlab-ce latest f2e48729e35c 3 weeks ago 2GB
复制代码
安装
然后我们需要将镜像保存下来,上传到内网机中
// 互联网机
docker save gitlab的IMAGE ID > gitlab.tar
docker save gitlab-runner的IMAGE ID > gitlab-runner.tar
// 内网机
docker load < gitlab.tar
docker load < gitlab-runner.tar
docker images
复制代码
显示出镜像列表,则导入成功
REPOSITORY TAG IMAGE ID CREATED SIZE
gitlab/gitlab-runner latest f726de7cf9ee 11 days ago 443MB
gitlab/gitlab-ce latest f2e48729e35c 3 weeks ago 2GB
PS:如果出现镜像名称为none的情况,可以用docker tag imageid name:tag命令给镜像重命名
vim /mnt/gitlab/etc/gitlab.rb
external_url 'http://XXX.XXX.XXX.XXX:8090'# 把external_url改成部署机器的域名或者IP地址
gitlab_rails['gitlab_shell_ssh_port'] = 2222 # 由于设置了端口映射把ssh的端口改为2222,与容器配置一致,使得clone时获得正常可用的ssh地址复制代码
2. 修改/mnt/gitlab/data/gitlab-rails/etc/gitlab.yml
vim /mnt/gitlab/data/gitlab-rails/etc/gitlab.yml
复制代码
找到关键字 ## Web server settings
将host的值改成映射的外部主机ip地址和端口,这里会显示在gitlab克隆地址
## Web server settings
host XXX.XXX.XXX.XXX
port 8090
复制代码
启动gitlab
sh start.sh
docker ps
复制代码
出现gitlab的运行信息则表明运行成功
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
993236646a3e gitlab/gitlab-ce "/assets/wrapper" 11 days ago Up 2 hours (healthy) 22/tcp, 0.0.0.0:8090->80/tcp, 0.0.0.0:8443->443/tcp gitlab
复制代码
然后我们需要注册runner,我们先注册一个shared Runner测试,流程都是一样的
首先打开gitlab控制台,然后在Admin Area > Overview > Runners 中找到Set up a shared Runner manually,复制url地址和token,接下来runner注册要用,然后在控制台输入命令开始注册
docker exec -it gitlab-runner bash #进入容器bash
gitlab-runner register #注册runner# 输入 GitLab 地址
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):
http://XXX.XXX.XXX.XXX:8090/
# 输入 GitLab Token
Please enter the gitlab-ci token for this runner:
1Lxq_f1NRfCfeNbE5WRh
# 输入 Runner 的说明
Please enter the gitlab-ci description for this runner:
# 设置 Tag,可以用于指定在构建规定的 tag 时触发 ci
Please enter the gitlab-ci tags for this runner (comma separated):
shared-runner
# 这里选择 true ,可以用于代码上传后直接执行
Whether to run untagged builds [true/false]:
# 这里选择 false,可以直接回车,默认为 false
Whether to lock Runner to current project [true/false]:
false# 选择 runner 执行器,这里我们选择的是 shell
Please enter the executor: virtualbox, docker+machine, parallels, shell, ssh, docker-ssh+machine, kubernetes, docker, docker-ssh:
shell
复制代码
[root@centos-linux ~]ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): # 密钥存放路径
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): # 输入密码。输入密码之后,以后每次都要输入密码。请根据你的安全需要决定是否需要密码,如果不需要,直接回车
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your publickey has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:di6MX8faj+TPOBvZwL60ajEJDgjrcO1peb209P/R3EU root@centos-linux.shared
The key's randomart image is:
+---[RSA 2048]----+
| |
| . |
| + . E|
|. o o . . . . |
| + . o +S...o .|
| . = .+=o+o + oo|
| . ..oo+ooO o +|
| .oooB.B . |
| ..ooX*= |
+----[SHA256]-----+
复制代码