使用docker安装gitlab以及gitlab简单使用

  • docker 安装gitlab以及使用
  • 1.创建主机映射目录
  • 2.gitlab镜像拉取
  • 3.运行gitlab镜像
  • 4.配置
  • 5.配置ssl支持
    • 1.进入到gitlab 的ssh命令行
    • 2.登录到Gitlab服务器
    • 3.查询用户
    • 4.修改密码
    • 5.保存
    • 6.登录
  • 6.配置邮箱登录
  • 7.创建项目
  • 8.创建ssh密钥对

docker 安装gitlab以及使用

本文基于 docker容器 +阿里云ECS服务器及外网域名进行搭建

1.创建主机映射目录

用于映射docker容器的目录文件

[root@server-backend docker]# mkdir -p /docker/gitlib/config && mkdir -p /docker/gitlib/logs  && mkdir -p /docker/gitlib/data
[root@server-backend docker]# ls /docker/gitlib/
config  data  logs
[root@server-backend docker]# 

2.gitlab镜像拉取

docker pull gitlab/gitlab-ce

3.运行gitlab镜像

docker run -d  -p 443:443 -p 80:80 -p 222:22 --name gitlab --restart always -v /docker/gitlib/config:/etc/gitlab -v /docker/gitlib/logs:/var/log/gitlab -v /docker/gitlib/data:/var/opt/gitlab gitlab/gitlab-ce
# -d:后台运行
# -p:将容器内部端口向外映射
# --name:命名容器名称
# -v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录

4.配置

按上面的方式,gitlab容器运行没问题,但在gitlab上创建项目的时候,生成项目的URL访问地址是按容器的hostname来生成的,也就是容器的id。作为gitlab服务器,我们需要一个固定的URL访问地址,于是需要配置gitlab.rb(宿主机路径:/docker/gitlib/config/gitlab.rb)。

# gitlab.rb文件内容默认全是注释
$ vim /docker/gitlib/config/gitlab.rb

编辑文件内容如下:

192.168.199.231应该改为正确地址

# 配置http协议所使用的访问地址,不加端口号默认为80
external_url 'http://192.168.199.231'# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '192.168.199.231'
gitlab_rails['gitlab_shell_ssh_port'] = 222 # 此端口是run时22端口映射的222端口
:wq #保存配置文件并退出

修改完成后重启gitlab容器

# 重启gitlab容器
$ docker restart gitlab
#或者进入容器中执行
gitlab-ctl reconfigure
gitlab-ctl restart

此时项目的仓库地址就变了。如果ssh端口地址不是默认的22,就会加上ssh:// 协议头
打开浏览器输入ip地址(因为我的gitlab端口为80,所以浏览器url不用输入端口号,如果端口号不是80,则打开为:ip:端口号)

默认的用户为root,密码可以查看initial_root_password文件

[root@server-backend config]# cat  /docker/gitlib/config/initial_root_password
# WARNING: This value is valid only in the following conditions
#          1. If provided manually (either via `GITLAB_ROOT_PASSWORD` environment variable or via `gitlab_rails['initial_root_password']` setting in `gitlab.rb`, it was provided before database was seeded for the first time (usually, the first reconfigure run).
#          2. Password hasn't been changed manually, either via UI or via command line.
#
#          If the password shown here doesn't work, you must reset the admin password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.Password: /w28USJrdUSrS2dTPsi73PmQ0Vu31i6BKDwcat60vqk=# NOTE: This file will be automatically deleted in the first reconfigure run after 24 hours.
[root@server-backend config]# 

https://blog.csdn.net/u012881331/article/details/84647261

5.配置ssl支持

https://docs.gitlab.com/omnibus/settings/nginx.html#enable-https

配置https 需要使用证书,此处使用阿里云的免费证书(证书一年有效期,过期需要再申请)

下载下来的证书放到/docker/gitlib/config/ssl目录下

gitlab默认使用.crt格式的私钥,需要进行格式转换(.pem 直接改成crt即可)

修改 /etc/gitlab/gitlab.rb中 external_url变为https

  1. Edit the external_url in /etc/gitlab/gitlab.rb:

    # note the 'https' below
    external_url "https://gitlab.example.com"
    
  2. Disable Let’s Encrypt in /etc/gitlab/gitlab.rb:

    letsencrypt['enable'] = false
    nginx['redirect_http_to_https'] = true
    

    完整的配置文件

    # 配置https协议所使用的访问地址,不加端口号默认为443
    external_url 'https://git.example.com'
    # 配置ssh协议所使用的访问地址和端口
    gitlab_rails['gitlab_ssh_host'] = 'git.example.com'
    gitlab_rails['gitlab_shell_ssh_port'] = 222 # 此端口是run时22端口映射的222端口
    #配置ssl
    letsencrypt['enable'] = false
    nginx['redirect_http_to_https'] = true
    
  3. Now, reconfigure GitLab:

    sudo gitlab-ctl reconfigure
    

    6.初始化用户

1.进入到gitlab 的ssh命令行

[root@server-backend ~]# docker exec -it gitlab /bin/bash
root@03cbecccf5c8:/#

2.登录到Gitlab服务器

root@03cbecccf5c8:/# gitlab-rails console production
#如果执行上面的指令提示 Usage: "rails console [options]" 则可能是Gitlab版本不一样,然后参数方式不一样,需要用如下方式
root@03cbecccf5c8:/# gitlab-rails console -e production

3.查询用户

> user = User.where(username:"root").first
=> #<User id:1 @root>

4.修改密码

> user.password = "qwer1234"
=> "qwer1234"

5.保存

> user.save!
Enqueued ActionMailer::DeliveryJob (Job ID: 1f015e02-34bc-4b26-8e37-3101937b7ce1) to Sidekiq(mailers) with arguments: "DeviseMailer", "password_change", "deliver_now", #<GlobalID:0x00007fa6b83b1378 @uri=#<URI::GID gid://gitlab/User/1>>
=> true

完整的执行过程如下

root@3b22cfb3d2bf:/# gitlab-rails console -e production
--------------------------------------------------------------------------------Ruby:         ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-linux]GitLab:       14.2.3 (2324101daeb) FOSSGitLab Shell: 13.19.1PostgreSQL:   12.7
--------------------------------------------------------------------------------
Loading production environment (Rails 6.1.3.2)
irb(main):001:0> user = User.where(username:"root").first
=> #<User id:1 @root>
irb(main):003:0> user.password='12345678'
=> "12345678"
irb(main):004:0> user.save!
Enqueued ActionMailer::MailDeliveryJob (Job ID: f59cf638-e6e3-4200-b82f-136812e59fba) to Sidekiq(mailers) with arguments: "DeviseMailer", "password_change", "deliver_now", {:args=>[#<GlobalID:0x00007f2eb915dd78 @uri=#<URI::GID gid://gitlab/User/1>>]}
=> true
irb(main):005:0>

6.登录

账号:root
密码:qwer1234

6.配置邮箱登录

配置邮箱服务的用途
有合并请求时,邮件通知
账号注册时,邮件验证
修改密码时,通过邮件修改
配置步骤:
1.开启QQ邮箱的smtp服务(不建议使用163邮箱,发几次之后,就不能发送)
设置–》账户–》smtp–》密保验证–》验证成功返回一串字符串,形状如(ausdixersybgcgid)
保存返回的字符串
2.修改gitlab配置
vim /etc/gitlab/gitlab.rb
按/后输入smtp_enable,找到下面这一串文本,进行修改

    ```inigitlab_rails['smtp_enable'] = truegitlab_rails['smtp_address'] = "smtp.qq.com"gitlab_rails['smtp_port'] = 465gitlab_rails['smtp_user_name'] = "36388961@qq.com"gitlab_rails['smtp_password'] = "开通smtp时返回的字符"gitlab_rails['smtp_domain'] = "qq.com"gitlab_rails['smtp_authentication'] = "login"gitlab_rails['smtp_enable_starttls_auto'] = truegitlab_rails['smtp_tls'] = trueuser['git_user_email'] = "36388961@qq.com"gitlab_rails['gitlab_email_from'] = '36388961@qq.com'```

    按esc退出到命令行模式之后:wq 保存并退出gitlab-ctl reconfigure
3.测试邮件服务是否正常gitlab-rails consoleNotify.test_email('接收方邮件地址','邮件标题','邮件内容').deliver_now按回车,测试发送。

复制代码

开通smtp时返回的字符:

7.创建项目

8.创建ssh密钥对

1、安装git工具。

2、运行git bash here 在弹出框中输入cd ~/.ssh/(如果弹出“No such file or directory“,则通过"mkdir ~/.ssh"语句创造.ssh文件夹)

3、输入“ssh-keygen -t rsa -C “gitlab的用户名” ”语句,然后回车,会出现设置密码,可以直接多次回车跳过,这样就生成秘钥了,可以在.ssh文件夹下看到id_rsa和id_rsa.pub两个文件,id_rsa.pub文件中的内容就是你需要的ssh秘钥。

ssh-keygen -t rsa -C “root”

关注【指尖架构师】公众号,获取更多资讯

使用docker安装gitlab以及gitlab简单使用相关推荐

  1. Docker安装Apache与运行简单的web服务——httpd helloworld

    Docker运行简单的web服务--httpd helloworld目录[阅读时间:约5分钟] 一.Docker简介 二.Docker的安装与配置[CentOS环境] 三.Docker运行简单的web ...

  2. centos7 docker删除端口映射_centos7安装docker,结合docker安装mysql,学习简单使用

    需要快速安装centos7的可以结合上一遍文章vagrant结合virtualbox让你直接在cmd窗口操作linux系统centos7 地址:https://www.toutiao.com/i685 ...

  3. docker安装sentinel的超简单步骤

    Sentinel是面向分布式服务框架的轻量级流量控制框架,主要以流量为切入点,从流量控制,熔断降级,系统负载保护等多个维度来维护系统的稳定性 docker search镜像查询 sentinel-da ...

  4. Linux 环境安装 Node、nginx、docker、vsftpd、gitlab

    Linux 环境安装 centos7 # 更新yum yum update -y 0. 防火墙 firewalld 新入的JD云服务器,发现防火墙默认是关闭的. # 查看防火墙状态 systemctl ...

  5. docker安装配置gitlab详细过程

    1.方法一 1 docker pull beginor/gitlab-ce:11.0.1-ce.0 2.方法二 如果服务器网路不好或者pull不下来镜像,只能在其它网路比较好的机器上pull下来镜像, ...

  6. 好棒,测试妹子都能看懂的Jenkins Docker安装教程

    最近团队出了个线上BUG,导致了几个用户的订单不对,因为发现的及时,客服那边还没有接到投诉就修正过来了.所以就想贿赂测试妹子这次BUG能不能不往上报,要不然我还得写报告.复盘啥的.本以为一顿饭能搞定, ...

  7. docker 安装与实践

    docker 安装与实践 1. 简单介绍 1.1 本次实验主要完成的工作有: 配置docker环境.构建并运行简单镜像,配置Mysql.docker volumn挂载.配置Docker compose ...

  8. docker安装mysql详细图解说明

    本篇文章是在linux版本的centos7上操作的,所以请自行先安装好,如果不知道怎么安装,请参考博主的文章.https://blog.csdn.net/qq_30764991/article/det ...

  9. 用Docker安装Gitlab

    Gitlab简介 GitLab是一个Git的代码托管工具,有免费的社区版允许我们在本地搭建代码托管网站,也有付费的企业版网站,能够在线托管代码.传统方式是手动下载Gitlab的软件包,然后搭建相关运行 ...

最新文章

  1. 计算机二级c真题108套,2016年计算机二级108套程序.docx
  2. SAP RETAIL 寄售模式公司间STO流程里收货过账不能基于外向交货单?
  3. py02-python基础
  4. JS是世界上最好的语言—— 使用Electron开发桌面应用(一)
  5. Python 操作 MySQL 的正确姿势
  6. vi/vim使用入门: vimrc在哪儿?
  7. 超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大
  8. 为什么下载小电影时,经常会卡在99%?
  9. 【JAVA编码专题】UNICODE,GBK,UTF-8区别
  10. 晨风机器人突破限制_厉害了!工程建设领域首创!会自动测量、自动调平的测量机器人...
  11. 合肥师范学院2020年专业计算机是多少分,合肥师范学院2020年安徽省一本、二本各专业录取分数统计...
  12. win7ie11调用java失败,Win7 更新IE11 一直失败,请求
  13. hadoop2.6.0 - eclipse插件下载、编译、安装、配置
  14. RoboWare Studio入门教程(一)
  15. 修复谷歌浏览器翻译插件无法使用的问题
  16. 天轰穿视频非知识点总结
  17. Word中插入的域或者公式显示乱码的解决办法
  18. Hadoop官网查看手册
  19. alios下载_AliOS-Things ESP8266 编译下载
  20. CorelDRAW2023最新版本图像设计软件

热门文章

  1. web应用 —— JavaScript
  2. java学习基础课之面向对象(渡一教育)【继承】(五)
  3. 《非理性繁荣》书中的精髓:反馈环因素、文化因素和心理因素共同导致非理性繁荣,应对非理性繁荣需要政府、金融机构及个人共同的努力。
  4. LinkCode-最多有多少个点在一条直线上
  5. appium自动化的工作原理
  6. 软件测试简历怎么投?这样准备,面试机会直接翻倍!
  7. JAVA毕设项目深州市特色蜜桃产业电子商务系统(java+VUE+Mybatis+Maven+Mysql)
  8. docker安装nextcloud出现“ 内部服务器错误”
  9. 8个快速提高用户忠诚度的套路,运营人必备
  10. POJ2215 Parliament