步骤1 docker安装gitlab

1.gitlab镜像拉取

# gitlab-ce为稳定版本,后面不填写版本则默认pull最新latest版本 $ docker pull gitlab/gitlab-ce

2.运行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:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录

运行成功后出现一串字符串

步骤2 宿主机nginx配置域名映射gitlab

server {
listen 80;
server_name gitlab.****.cn;
location / {
proxy_pass http://git###;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
upstream git### {
server 127.0.0.1:1980;
}

步骤3 进入gitlab容器内,修改默认账户root密码(注意密码一定要包含大小写字母和特殊字符)

一. 进入docker的 gitlab 容器中

1. 查看所有容器

docker ps

2. 进入gitlab 容器中

docker exec -it gitlab(容器名字) bash

二. 修改密码

1、要重置您的root密码,请首先使用root特权登录到服务器。使用以下命令启动Ruby on Rails控制台

gitlab-rails console -e production

2、等待控制台加载完毕,有多种找到用户的方法,您可以搜索电子邮件或用户名

user = User.where(id: 1).first

3、现在,您可以更改密码

user.password = 'secret_pass'

user.password_confirmation = 'secret_pass'

4、重要的是,您必须同时更改密码和password_confirmation才能使其正常工作,别忘了保存更改

user.save!

quit 退出命令行

exit 退出容器

步骤4 通过宿主机映射目录修改gitlab配置文件 config文件夹中的gitlab.rb文件

# gitlab.rb文件内容默认全是注释 $ vim /home/gitlab/config/gitlab.rb

# 配置http协议所使用的访问地址,不加端口号默认为80 external_url 'http://192.168.199.231' # 配置ssh协议所使用的访问地址和端口 gitlab_rails['gitlab_ssh_host'] = '192.168.199.231' gitlab_rails['gitlab_shell_ssh_port'] = 222 # 此端口是run时22端口映射的222端口 :wq #保存配置文件并退出

文件中的ip地址也可以为域名

步骤5 docker 重启 gitlab

docker restart gitlab

步骤6 通过root登录到gitlab,新建项目

步骤7 在Windows上安装git客户端

下载git.exe

步骤8 在Windows上找到.ssh文件夹,添加到gitlab中

已生成过ssh:则在我的电脑--->C盘--->用户--->你自己的用户路径下,可以看到一个新的.ssh文件夹,在这个文件夹中有一对密钥文件,使用notepad++等工具打开id_rsa.pub,复制其中的内容,千万不要改变其中的内容。

如果没有生成ssh:则进行如下操作,先生成秘钥对。

1.打开本地git bash,使用如下命令生成ssh公钥和私钥对

$ ssh-keygen -t rsa -C 'xxx@xxx.com'

然后一路回车(-C 参数是你的邮箱地址),生成密匙

2.然后输入命令:

# ~表示用户目录,比如我的windows就是C:\Users\Administrator,并复制其中的内容 $ cat ~/.ssh/id_rsa.pub

最后找到gitlab上面设置ssh键的地方,复制上述内容。

步骤9 通过git客户端,拉取新项目到本地

1.新建空白文件夹,并进入

2.鼠标右键找到git bash here 并进入

3.输入命令 git clone ssh://git@gitlab.*****.cn:5552/root/test-dotnet.git