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

转自:https://www.cnblogs.com/chooperman/p/14836398.html

记录一下怕忘记~~~

下载gitlab镜像

1

docker search gitlab

  

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

1

docker pull gitlab/gitlab-ce

  

 安装成功后查看镜像。

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

将镜像启动为容器

1

2

3

4

5

6

7

8

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也可以不写)

  

 在容器里面重新加载配置

1

gitlab-ctl reconfigure

重启服务

1

gitlab-ctl restarth 

好,修改完毕!

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

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

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

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

1

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

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

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

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

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

拉取项目

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

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

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

1

2

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

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

  

4、克隆项目

1

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,输入

1

git status

  

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

提交代码,输入。

1

git add test/gitpushtest.txt

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

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

1

git commit -m "message"

  

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

1

git push origin master

 

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

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值