docker Gitlab 安装、配置、部署、使用
一.镜像容器
1.安装docker
yum install docker
使用yum命令在线安装
安装后查看Docker版本
docker -v
2. 查找GitLab镜像
docker search gitlab
3. 拉取镜像
docker pull gitlab/gitlab-ce:latest
4. 创建容器
创建挂载目录
mkdir -p /app/gitlab/config mkdir -p /app/gitlab/logs mkdir -p /app/gitlab/data chmod 777 -R /app/gitlab/config chmod 777 -R /app/gitlab/logs chmod 777 -R /app/gitlab/data
/app/gitlab/config 配置文件路径
/app/gitlab/logs 日志路径
/app/gitlab/data 存储数据路径
启动容器
docker run \ -d \ -p 443:443 -p 8080:80 -p 22222:22 \ --name gitlab \ --restart always \ -v /app/gitlab/config:/etc/gitlab \ -v /app/gitlab/logs:/var/log/gitlab \ -v /app/gitlab/data:/var/opt/gitlab \ --privileged=true \ gitlab/gitlab-ce:latest
注:
–privileged=true 添加权限,不然无权限创建/app/gitlab/config/gitlab.rb等配置文件
宿主机目录会自动创建(/app/gitlab/config、/app/gitlab/logs、/app/gitlab/data)
二、修改配置文件
前言:按上面的方式,gitlab容器运行没问题,但在gitlab上创建项目的时候,生成项目的URL访问地址是按容器的hostname来生成的,也就是容器的id。作为gitlab服务器,我们需要一个固定的URL访问地址,于是需要配置gitlab.rb(宿主机路径:/srv/gitlab/config/gitlab.rb)
2.1. gitlab.rb
gitlab.rb文件内容默认全是注释
编辑gitlab.rb
配置http协议所使用的访问地址,不加端口号默认为8080
vim /app/gitlab/config/gitlab.rb
添加external_url
external_url 'http://192.168.43.204'
添加访问地址和端口
配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '192.168.92.129'
此端口是run时22端口映射的22222端口
gitlab_rails['gitlab_shell_ssh_port'] = 22222
保存配置文件并退出
:wq
附上配置信息:
# 配置http协议所使用的访问地址,不加端口号默认为80 external_url 'http://192.168.92.129' # 配置ssh协议所使用的访问地址和端口 gitlab_rails['gitlab_ssh_host'] = '192.168.92.129' gitlab_rails['gitlab_shell_ssh_port'] = 22222
2.2. 重启gitlab容器
docker restart gitlab
2.3. 监控日志
docker查看gitlab启动日志
docker logs -f gitlab
三、效果验证
3.1. 登录gitlab
打开浏览器输入ip地址(因为我的gitlab端口为80,所以浏览器url不用输入端口号,如果端口号不是80,则打开为:ip:端口号)
http://192.168.92.129:8080
3.2. 获取密码
docker Gitlab 初始化账号以及密码是什么呢?
之后点击登录
![](https://img2022.cnblogs.com/blog/564533/202210/564533-20221013104752886-1978273129.png)
gitlab首页展示
![](https://img2022.cnblogs.com/blog/564533/202210/564533-20221013104823202-564426899.png)
3.3. 创建一个项目
下面我们就可以新建一个项目了,点击Create a project
![](https://img2022.cnblogs.com/blog/564533/202210/564533-20221013104906303-643679482.png)
四、用户使用
1.下载git.exe
双击git.exe安装git(一直点下一步,直到完成)
点击电脑桌面空白地方右键看到如下两行即安装成功
4.2. 设置ssh
打开本地git bash,使用如下命令生成ssh公钥和私钥对
ssh-keygen -t rsa -C 'xxx@xxx.com'
例如:
ssh-keygen -t rsa -C 'gbly02@gmail.com'
然后一路回车(-C 参数是你的邮箱地址)
![](https://img2022.cnblogs.com/blog/564533/202210/564533-20221013105020504-574028178.png)
4.3. 秘钥查验
~表示用户目录,比如我的windows就是C:\Users\Administrator,并复制其中的内容
#私钥查看
cat ~/.ssh/id_rsa.pub
#将私钥添加到SSH代理中
start-ssh-agent
ssh-add ~/.ssh/id_rsa
4.4. 秘钥同步
把公钥添加到远程gitlab仓库中
打开gitlab,找到Profile Settings–>SSH Keys—>Add SSH Key,并把上一步中复制的内容粘贴到Key所对应的文本框
或者打开:C:\Users\Administrator.PC-20180929LWLP.ssh\找到id_rsa.pub打开,复制,粘贴即可
![](https://img2022.cnblogs.com/blog/564533/202210/564533-20221013105204475-2106590371.png)
4.5. 查看ssh key
![](https://img2022.cnblogs.com/blog/564533/202210/564533-20221013105225096-1797518999.png)
五、克隆代码
从gitlab克隆代码
回到gitlab页面点击projects->your projects
5.1. 选择项目
5.2. 链接拷贝
复制项目;链接地址
5.3. 代码验证
进入拉取代码到本地的路径下面
新建一个文件夹,我在这里在我的电脑D盘下新建project文件夹,或者在你想把项目拉取/存放的目录下面
5.4. 命令变更
右键选择->Git Bash Here
5.5. 初始配置
设置用户名和邮箱
git config --global user.name "你的名字" git config --global user.email "你的邮箱"
案例:
git config --global user.name "guobin_wb" git config --global user.email "gbly02@gamil.com"
5.6. 全局配置
查看git全局配置信息
git config --global --list
5.7. 克隆项目
git clone 项目地址
案例:
git clone ssh://git@192.168.43.204:222/root/gitlab-test.git
5.8. 项目检验
在本地目录下面查看,从远程拉取的项目
从上面可以看出,项目已经从远程拉取下来了
六、版本同步
本地项目推送远程(gitlab仓库)
6.1. 进入项目
cd gitlab-test/
6.2. 新增文件
添加测试文件
echo "test local project push remote rep" > gblf.txt
6.3. 文件状态
查看git 变更文件状态
git status
注:
红色部分代表:需要提交的文件
红色变更文件只在工作区,尚未添加至暂存区
6.4. 变更添加
将变更的文件添加在暂存区
git add gblf.txt
注: git add . :指所有变更的文件 git add 文件名 :指:单个变更文件 git add 文件名 文件名 :指多个变更文件
6.5. 版本提交
提交至本地仓库并添加提交信息
git commit -m "first commit project "
注: git commit -am "first commit project "和上面的区别: 第二个可以省去git add 这个步骤
6.6. 远程推送
将本地仓库推送到远程,也就是提交到gitlab
git push origin master
6.7. 远程查看