docker下gitlab安装配置使用(完整版)

docker 安装gitlab以及使用

一、安装及配置

  1. gitlab镜像拉取

    docker pull gitlab/gitlab-ce:latest (gitlab-ce是稳定版,默认pull最新latest版本)
    # 或者指定版本  
    # sudo docker pull gitlab/gitlab-ce:<版本号>
    
    
  2. 创建本地映射目录

    在你的Ubuntu主机上,创建用于存储GitLab配置文件、日志和数据的目录:

    mkdir -p /srv/gitlab/config /srv/gitlab/logs /srv/gitlab/data
    
  3. 运行GitLab-CE Docker容器

    docker run --detach \
    --hostname gitlab \
    --publish 443:443 --publish 80:80 --publish 222:22 \
    --name gitlab \
    --restart always \
    -v /srv/gitlab/config:/etc/gitlab \
    -v /srv/gitlab/logs:/var/log/gitlab \
    -v /srv/gitlab/data:/var/opt/gitlab 
    gitlab/gitlab-ce:latest
    
    -d:后台运行
    -p:将容器内部端口向外映射,映射的端口可根据实际修改
     --name : 命令容器名称,可根据需要调整
     -v: 将容器内数据文件夹或者日志,配置等文件夹挂载到宿主机指定目录
     运行成功后出现一串字符   
    
  4. 验证Gitlab-CE是否运行成功

    docker ps
    
  5. 访问和配置gitlab-ce
    配置gitlab-ce访问地址
    打开浏览器,输入http://<你的Ubuntu主机IP地址>(或https://<你的Ubuntu主机IP地址>,如果启用了HTTPS的话)来访问GitLab-CE。首次访问时,你需要设置管理员密码。
    如果需要,你可以通过修改/srv/gitlab/config/gitlab.rb文件来进一步配置GitLab-CE,例如更改external_url、设置SMTP邮件发送等。修改后,需要重启GitLab-CE容器以使配置生效:

    vim /sev/gitlab/config/gitlab.rb (gitlab.rb文件内容默认全是注释)
    #配置http协议所使用的访问地址,不加端口号默认为80,加端口号根据设置端口号添加,找到
    external_url 'http://192.168.1.155'
    #配置ssh协议所使用的访问地址和端口
    gitlab_rails['gitlab_ssh_host'] = '192.168.1.155'
    gitlab_rails['gitlab_shell_ssh_port'] = 222 # 此端口是run时22端口映射的222端口
    :wq #保存配置文件并退出
    #docker restart gitlab (重启gitlab容器)
    

    配置gitlab-ce注册邮箱
    首先,确保你的邮箱服务(如QQ邮箱、163邮箱等)已经开启了SMTP服务,并且你能够获取到SMTP服务的授权码。这是因为出于安全考虑,大多数邮箱服务不允许在第三方应用中使用明文密码。
    配置GitLab CE的SMTP设置
    接下来,需要编辑GitLab CE的配置文件(通常是/etc/gitlab/gitlab.rb),以设置SMTP相关的参数。以下是一个基于QQ邮箱的示例配置:

     vim /sev/gitlab/config/gitlab.rb
     gitlab_rails['smtp_enable'] = true  
     gitlab_rails['smtp_address'] = "smtp.qq.com"  
     gitlab_rails['smtp_port'] = 465 # 通常对于SMTPS使用465端口,对于STARTTLS使用587端    
     gitlab_rails['smtp_user_name'] = "your_email@qq.com" # 你的邮箱地址  
     gitlab_rails['smtp_password'] = "your_smtp_authorization_code" # 你的SMTP授权码  
     gitlab_rails['smtp_domain'] = "qq.com"  
     gitlab_rails['smtp_authentication'] = "login"  
     gitlab_rails['smtp_enable_starttls_auto'] = true # 如果使用STARTTLS,则设置为true  
     gitlab_rails['smtp_tls'] = true # 如果使用SMTPS(端口465),则设置为true  
     gitlab_rails['gitlab_email_from'] = 'your_email@qq.com' # 发件人邮箱地址  
     gitlab_rails['gitlab_email_display_name'] = 'GitLab CE' # 发件人显示名称
     
     请注意,根据你的邮箱服务提供商和具体需求,上述参数可能需要进行相应的调整。
     保存配置文件后,重启gitlab容器来确保配置生效
     docker  restart  gitlab
    

    测试SMTP配置
    在GitLab CE的控制台中,你可以使用以下命令来测试SMTP配置是否成功:

    docker exec -it gitlab  /bin/bash
    gitlab-rails console  
    Notify.test_email('your_test_email@example.com', 'Subject', 'Body').deliver_now
    

    替换your_test_email@example.com、Subject和Body为你自己的测试邮箱地址、邮件主题和邮件内容。如果配置成功,你应该能在指定的测试邮箱中收到一封来自GitLab CE的测试邮件。

    重置root账号密码

    进入gitlab 容器中
    docker exec -it gitlab /bin/bash
    或者
    docker exec -it <容器id> /bin/bash
    
    

    设置修改root密码
    要重置您的root密码,请首先使用root特权登录到服务器。使用以下命令启动Ruby on Rails控制台
    #gitlab-rails console -e production
    等待控制台加载完毕,有多种找到用户的方法,您可以搜索电子邮件或用户名
    user = User.where(id: 1).first
    现在,您可以更改密码
    user.password = ‘secret_pass’
    user.password_confirmation = ‘secret_pass’
    重要的是,您必须同时更改密码和password_confirmation才能使其正常工作,别忘了保存更改
    user.save!
    exit
    之后使用root就可以通过web端登陆。

二、gitlab使用

创建一个项目
第一次进入要输入新的root用户密码,设置好之后确定就行
在这里插入图片描述

下面我们就可以新建一个项目了,点击Create a project

在这里插入图片描述
创建完成后:

在这里插入图片描述

  1. 用户使用
    下载git.exe
    双击git.exe安装git(一直点下一步,直到完成)
    点击电脑桌面空白地方右键看到如下两行即安装成功
    登录gitlab网页
    url:http://192.168.1.155
    填写账号密码登录
    在这里插入图片描述

  2. 设置ssh

    1.打开本地git bash,使用如下命令生成ssh公钥和私钥对
    #ssh-keygen -t rsa -C 'xxx@xxx.com' 
    然后一路回车(-C 参数是你的邮箱地址)
    2.然后输入命令:
    #cat ~/.ssh/id_rsa.pub
    3.打开gitlab,找到Profile Settings-->SSH Keys--->Add SSH Key,并把上一步中复制的内容粘贴到Key所对应的文本框
    
  3. 从gitlab克隆代码

    1).回到gitlab页面点击projects->your projects
    2).选择一个需要克隆的项目,进入
    3).点击按钮复制地址
    4).新建一个文件夹,我在这里在我的电脑D盘下新建project文件夹
    5).进入projects文件夹右键选择->Git Bash Here
    6).设置用户名和邮箱
    #git config --global user.name "你的名字"
    #git config --global user.email "你的邮箱"
    7).克隆项目
    #git clone ssh://git@192.168.1.155:222/coe/dotware-svr.git
    8).查看projects文件夹,项目已经克隆下来了
    
  4. 提交代码到gitlab

    1).基于以上步骤,在克隆的项目文件夹下新增一个测试文件
    2).查看同步状态
       在项目文件夹下右键点击->Git Bash Here
     #git status
     可以看到红色部分有需要提交的文件
    3).提交代码
     #git add test.txt
     然后输入以下命令提交并添加提交信息
     #git commit -m "message"
     最后输出以下命令提交到gitlab
     #git push origin master
     提交完成啦
     再回到gitlab上看该项目就可以看到多了一个txt测试文件
    
    **docker中保存镜像,在另一台电脑加载(以gitlab镜像为例):**
     docker save -o gitlab.tar  gitlab/gitlab-ce:latest   #请替换为你实际使用的gitlab镜像和标签
     将保存的镜像文件传输到另一台电脑,在另一台电脑上加载gitlab镜像
     docker load -i gitlab.tar
    

参考:https://www.jianshu.com/p/080a962c35b6

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值