【CI/CD】docker部署gitlab,并且本地拉取gitlab代码成功

下载gitlab镜像

docker search gitlab

  

安装截图中圈出来的这个。

docker pull gitlab/gitlab-ce

  

 安装成功后查看镜像。

 PS:我使用上述镜像启动容器后,服务器内存一直在增大(本机只有2核4G),网上查了很多方案最终没有解决。后来使用了1个个人提供的镜像,进行后面的流程。

将镜像启动为容器

docker run -d 
-p 8443:443 
-p 8084:80 
--name gitlab 
-v /home/gitlab/config:/etc/gitlab 
-v /home/gitlab/logs:/var/log/gitlab 
-v /home/gitlab/data:/var/opt/gitlab 
gitlab/gitlab-ce

  

访问gitlab

使用服务器的IP+端口,即可访问gitlab。

 在上述登录界面,输入root账号用户名密码,即可管理员登录。

但我们一般重新注册个自己的账号,使用自己注册的账号进行使用。

新建群组/项目

使用自己注册的账号登录后,新建群组

新建项目

  

 新建项目成功后,查看到其git地址为一串乱码,用户无法直接访问使用。

  

解决git项目地址非IP问题

目前要解决git项目地址为乱码,而非IP地址的问题。由于我们使用的docker部署,因此我们进入容器里面,修改/etc/gitlab/gitlab.rb

 external_url配置项增加IP地址和端口配置(这里的端口是80,即容器里面的地址,而不是宿主机外面的8084,因此external_url中的端口80也可以不写)

  

 在容器里面重新加载配置

gitlab-ctl reconfigure

重启服务

gitlab-ctl restarth 

好,修改完毕!

刷新页面,重新进入gitlab中,观察项目的git地址。可以看出,这个配置确实修改了项目的git地址。

个人PC生成密钥并配置到git账号

由于个人PC访问gitlab如果不设置ssh密钥的话,还要输入用户名密码比较麻烦,因此需要先在个人PC上设置公钥、私钥,并将公钥配置到用户gitlab账号的SSH密钥中。

本地打开git bash,使用命令生成公钥、私钥。

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

然后一路回车(-C 参数是你的邮箱地址)

 然后打开公钥,复制一下(公钥的路径在生成的时候有打印)

这里顺便看下生成的文件和位置

将上述id_rsa.pub中的内容,复制到个人资料设置-SSH密钥-增加密钥中。 

拉取项目

1、在本地电脑新建1个文件夹,用于放后面拉取的项目

2、进入该文件夹,邮件Git Bash Here

3、设置用户名、邮箱(你的git账号注册时的用户名邮箱)

git config --global user.name "你的名字"
git config --global user.email "你的邮箱"

  

4、克隆项目

git clone 项目地址

  

但是此时我们拿这个地址去clone项目,并不会成功,还会触发输入密码。

此时还需要进行一些设置

a、在/etc/gitlab/gitlab.rb中增加gitlab_ssh_host和gitlab_shell_ssh_port。注意这里的222,为宿主机的端口。对应

 PS:在上述使用222端口的过程中,本人还遇到了新问题。即一开始启动镜像时,我并没有将22端口映射出去。这里参考了这篇文章完成了已启动容器后,增加映射端口的操作。

https://blog.csdn.net/qq_41538097/article/details/107078157

 

b、使用命令重新加载gitlab配置及重启gitlab-ctl reconfigure、gitlab-ctl restart。重启后,再查看gitlab网站上项目地址的变化。

SSH地址已增加了刚刚配置的222端口。

 HTTP地址并没有变化,因为没有设置。

 c、确保服务器对外放开了222端口。

 d、重新使用最新的,带上222端口的项目地址进行更新,更新成功。

 

复制成功,查看文件夹下也有项目上的内容。

 5、提交代码到gitlab

上述调试后,从gitlab拉取已调通。下面我们进一步测试下,本地上传到gitlab。

我们在本地新增1个文件夹、1个文件。

 在项目文件夹下右键点击->Git Bash Here,输入

git status

  

 标红的为其识别需要提交的文件。

提交代码,输入。

git add test/gitpushtest.txt

  (“git add“后加“.”则添加全部文件,也可以加"*.txt"表示添加全部需要提交的txt文件 )

  然后输入以下命令提交并添加提交信息 

git commit -m "message"

  

  最后输出以下命令提交到gitlab该项目的master分支 

git push origin master

 

  提交完成。去gitlab项目网站上查看,提交成功。

 

原文地址:https://www.cnblogs.com/chooperman/p/14836398.html