• 【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项目网站上查看,提交成功。

     

  • 相关阅读:
    do文件的编写和执行
    AES内部结构(加密部分)
    暂稳态效应攻击
    #computer architecture#memory3
    pandas记录
    selenium+chromeDriver配合使用(运行js脚本)
    selenium + chromeDriver的ip代理设置
    requests记录
    python 记录
    1.文件重命名工具
  • 原文地址:https://www.cnblogs.com/chooperman/p/14836398.html
Copyright © 2020-2023  润新知