docker部署Gitlab

145 阅读3分钟

一、一键安装命令

docker run -d -p 8443:443 -p 8090:80 -p 8022:22 --restart always --name gitlab -v /usr/local/soft/gitlab/etc:/etc/gitlab -v /usr/local/soft/gitlab/log:/var/log/gitlab -v /usr/local/soft/gitlab/data:/var/opt/gitlab --privileged=true gitlab/gitlab-ce
-d                #后台运行,全称:detach
-p 8443:443      #将容器内部端口向外映射
-p 8090:80       #将容器内80端口映射至宿主机8090端口,这是访问gitlab的端口
-p 8022:22       #将容器内22端口映射至宿主机8022端口,这是访问ssh的端口
--restart always #容器自启动
--name gitlab    #设置容器名称为gitlab
-v /usr/local/soft/gitlab/etc:/etc/gitlab    #将容器/etc/gitlab目录挂载到宿主机/usr/local/soft/gitlab/etc目录下,若宿主机内此目录不存在将会自动创建
-v /usr/local/soft/gitlab/log:/var/log/gitlab    #与上面一样
-v /usr/local/soft/gitlab/data:/var/opt/gitlab   #与上面一样
--privileged=true         #让容器获取宿主机root权限
gitlab/gitlab-ce    #镜像的名称,这里也可以写镜像ID

二、查看Gitlab是否已经启动

image.png

三、配置Gitlab

1.进入容器

docker exec -it gitlab bash

2.修改gitlab.rb文件

//编辑gitlab.rb文件  
vi /etc/gitlab/gitlab.rb
// 找到external_url,修改成http://服务器的ip
external_url 'http://xx.xx.xx.xx'
//配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '192.168.XX.XX' //和上一个IP输入的一样
gitlab_rails['gitlab_shell_ssh_port'] = 8022 // 此端口是run时22端口映射的8022端口
:wq //保存配置文件并退出

image.png

3.配置gitlab.yml文件

每次重新启动可能都要配置

//打开编辑gitlab.yml文件
vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
//修改host 与上面.rb文件修改的一致
//修改port 为8090

image.png

4.重启服务

//此命令为容器内重启服务命令
gitlab-ctl restart

5.重置密码

# 进入控制台
gitlab-rails console -e production

# 查询id为1的用户,id为1的用户是超级管理员
user = User.where(id:1).first

# 修改密码
user.password='新密码'
user.password_confirmation = '新密码'

# 保存
user.save

# 退出控制台
exit

# 退出容器
exit

四、使用浏览器打开Gitlab

URL:http://服务器ip:8090/

用户名:root,密码重置的新密码

五、Gitlab新建项目提交代码

1.新建项目,步骤如下

image.png

image.png

image.png

image.png

2.提交本地代码

首先本地要安装好git

  • 选中要上传代码文件夹右键选择Git Bash Here

image.png

  • 执行命令
# 下面两个引号里编写自己定义的用户名和邮箱
git config --global user.name"***"
git config --global user.email"***@163.com"
git init
# 如果最后push时,报连接失败,或许是连接错误,可用这命令修改连接
# git remote set-url origin ***.git
git remote add origin ***.git (去gitlab创建的项目里获取链接)
git add .
git commit -m"初始提交"
git push -u origin master (上传到master分支,可以改为指定的分支)
# push失败,如果报error: failed to push some refs to‘远程仓库地址’
# 使用如下命令
git pull --rebase origin master
# 然后再进行上传:
git push -u origin master