在Ubuntu系统下安装Gitlab,搭建实验室自己的代码托管平台
一、安装Docker
1.使用管理员用户运行 curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
这里配置了镜像源
其他安装方式和操作参考菜鸟教程菜鸟教程
2.创建gitlab文件夹
打开路径 cd /home/用户名
创建文件夹mkir gitlab
可以使用docker -v查看docker版本
二、拉取镜像
搜索Docker官方网址,进入注册页面注册好后,在搜索栏搜索Gitlab,找到星标最多的那个项目
复制拉取代码 docker pull gitlab/gitlab-runner
默认应该为最新版本
出现一串长数字和字母即为成功
三、运行Gitlab镜像
$ docker run -d -p 443:443 -p 80:80 -p 222:22 --name gitlab --restart always -v /home/gitlab/config:/etc/gitlab -v /home/gitlab/logs:/var/log/gitlab -v /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce
# -d:后台运行
# -p:将容器内部端口向外映射
# --name:命名容器名称
# -v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录
运行成功出现一片数字
注:可以在此处配置端口设置,例如不想80被占用,可以在第一个80位置改为8080 例如 -p 80:80
四、配置
按上面的方式,gitlab容器运行没问题,但在gitlab上创建项目的时候,生成项目的URL访问地址是按容器的hostname来生成的,也就是容器的id。作为gitlab服务器,我们需要一个固定的URL访问地址,于是需要配置gitlab.rb
# gitlab.rb文件内容默认全是注释
$ vim /home/gitlab/config/gitlab.rb
# 配置http协议所使用的访问地址,不加端口号默认为80
external_url 'http://自己ip地址'
# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '自己ip地址'
gitlab_rails['gitlab_shell_ssh_port'] = 222 # 此端口是run时22端口映射的222端口
:wq #保存配置文件并退出
# 重启gitlab容器
$ docker restart gitlab
此时项目的仓库地址就变了。如果ssh端口地址不是默认的22,就会加上ssh:// 协议头
打开浏览器输入ip地址(因为我的gitlab端口为80,所以浏览器url不用输入端口号,如果端口号不是80,则打开为:ip:端口号)
可以使用docker ps
查看运行中的docker实例 以及端口配置情况
使用docker logs -f f0ff8417ad5e
查看日志信息
等待一段时间之后可以用ip地址+端口号访问
五、初次登录设置
gitlab-ce-14初装以后,把密码放在了一个临时文件中了
/home/用户名/gitlab/initial_root_password
这个文件将在首次执行reconfigure后24小时自动删除
用ls查看不到这个文件的话
docker exec -it gitlab /bin/bash
具体内容如下,复制后在网页用root登录,尽快修改密码
Notes:
Default admin account has been configured with following details:
Username: root
Password: You didn't opt-in to print initial root password to STDOUT.
Password stored to /etc/gitlab/initial_root_password. This file will be cleaned up in first reconfigure run after 24 hours.
NOTE: Because these credentials might be present in your log files in plain text, it is highly recommended to reset the password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.
gitlab Reconfigured!
[root@c7-192 src]# cat /etc/gitlab/initial_root_password
# WARNING: This value is valid only in the following conditions
# 1. If provided manually (either via `GITLAB_ROOT_PASSWORD` environment variable or via `gitlab_rails['initial_root_password']` setting in `gitlab.rb`, it was provided before database was seeded for the first time (usually, the first reconfigure run).
# 2. Password hasn't been changed manually, either via UI or via command line.
#
# If the password shown here doesn't work, you must reset the admin password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.
Password: thAXLJhVoo6V9sRvRH5HrLrD5rg88C7gccEGZDT4Lq0=
# NOTE: This file will be automatically deleted in the first reconfigure run after 24 hours.
六、总结
https://www.cnblogs.com/chuanqi1995/p/11445450.html
https://www.jianshu.com/p/080a962c35b6
https://blog.csdn.net/timonium/article/details/119451755
https://www.cnblogs.com/xiaoyingzhanchi/p/14283044.html