在CentOS7系统使用Docker构建Jenkins

在CentOS7系统使用Docker构建gitlab

详情可参照官方安装连接,以下只记录一些关键步骤

前提

假设docker已安装的前提下,如需了解CentOS7系统安装Docker,可参照笔记ecs操作部分步骤-阿里ECS安装dockerdocker官方安装

准备

  • 需要了解docker基本命令操作
  • 登录ecs服务器,创建jenkins挂载目录
  • 登录dockerhub,选择官方社区版本及阅读说明文档;也可使用docker search -s 100 ‘gitlab’直接搜索gitlab镜像start大于100的

设置卷位置

在设置其他所有内容之前,请配置一个新的环境变量$GITLAB_HOME ,该变量指向配置,日志和数据文件将驻留的目录。确保目录存在并且已授予适当的权限。

对于Linux用户,将路径设置为/srv/gitlab:

1
export GITLAB_HOME=/srv/gitlab

对于macOS用户,请使用用户$HOME/gitlab目录:

1
export GITLAB_HOME=$HOME/gitlab

Linux,macOS查看环境变量

1
env

GitLab容器使用主机安装的卷来存储持久数据:

当前位置 容器位置 用法
$GITLAB_HOME/data /var/opt/gitlab 用于存储应用程序数据。
$GITLAB_HOME/logs /var/log/gitlab 用于存储日志。
$GITLAB_HOME/config /etc/gitlab 用于存储GitLab配置文件。

安装

GitLab Docker镜像可以多种方式运行:

1
2
3
4
5
// 1.从docker镜像仓库拉取最新的gitlab(一般选择lts,长期支持的版本,会定时发布系统更新)(https://hub.docker.com/r/gitlab/gitlab-ce)
docker pull gitlab/gitlab-ce

// 2.查看已安装的docker gitlab
docker images | grep "gitlab"

运行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// 官方配置
docker run --detach \
--hostname gitlab.example.com \ // 域名
--publish 443:443 \ // 将容器内443端口映射至宿主机6003端口,这是访问gitlab的端口
--publish 80:80 \ // 将容器内80端口映射至宿主机80端口,这是访问gitlab的端口
--publish 22:22 \ // 将容器内22端口映射至宿主机22端口,这是访问ssh的端口
--name gitlab \ // 容器名称
--restart always \ // 容器自启动
--volume $GITLAB_HOME/config:/etc/gitlab \ // 见上"设置卷位置录"
--volume $GITLAB_HOME/logs:/var/log/gitlab \ // 见上"设置卷位置录"
--volume $GITLAB_HOME/data:/var/opt/gitlab \ // 见上"设置卷位置录"
gitlab/gitlab-ce:latest // 安装的镜像包名 REPOSITORY:TAG(也可写镜像ID)


// 简化版
docker run --detach --hostname bot.xiaoqiang.tech --publish 7143:443 --publish 7280:80 --publish 7322:22 --name gitlab --restart always --volume $GITLAB_HOME/config:/etc/gitlab --volume $GITLAB_HOME/logs:/var/log/gitlab --volume $GITLAB_HOME/data:/var/opt/gitlab gitlab/gitlab-ce:latest


// 查看运行的容器
docker container ls
// 或
docker ps

修改gitlab配置

输入正在运行的容器:

1
docker exec -it gitlab /bin/bash

打开gitlab.rb配置文件

1
2
3
4
5
6
7
8
9
10
11
// 打开文件
vim /etc/gitlab/gitlab.rb

// 此文件是全注释的,所以直接在首行添加如下配置

# gitlab访问地址,可以写域名(默认端口为80)
external_url 'http://192.168.52.128:9980'
# ssh主机ip
gitlab_rails['gitlab_ssh_host'] = '192.168.52.128'
# ssh连接端口
gitlab_rails['gitlab_shell_ssh_port'] = 7322

/etc/gitlab/gitlab.rb用您的编辑器打开并设置external_url:

1
2
3
4
5
6
7
# For HTTP
external_url "http://gitlab.example.com:8929"

or

# For HTTPS (notice the https)
external_url "https://gitlab.example.com:8929"

此URL中指定的端口必须与Docker发布到主机的端口匹配。此外,如果未显式设置NGINX侦听端口 nginx[‘listen_port’],它将从中拉出external_url。有关更多信息,请参见NGINX文档

设置gitlab_shell_ssh_port:

1
gitlab_rails['gitlab_shell_ssh_port'] = 7322

重启修改后的配置

1
gitlab-ctl reconfigure

最后,重启gitlab

1
gitlab-ctl restart

访问

按照上面的示例,您将能够从Web浏览器下访问GitLab,:8929并在port下使用SSH进行推送2289。

1
2
3
4
5
// 本地访问(忽略)
http://loalhost:8929

// 局域网访问(注意:可查看域名配置-设置白名单笔记,配置安全组规则,允许8929入方向)
http://服务器ip:8929

其他,安装gitlab后设置后期补充

0%