最新公告
  • 欢迎您光临源站网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • Docker安装及配置GitLab

    GitLabGitHub一样,都是基于Git开发了一些功能,然后商业化的产品,它俩唯一的不同之处在于GitLab可以私有化部署,这也就导致受到了很多企业的青睐。

    本篇文章主要介绍如何以Docker化的方式安装GitLab,以及简单的配置,使用的是GitLab-CE社区版,操作系统CentOS 7

    环境

    • 系统更新并重启
    $ sudo yum update -y
    $ sudo reboot
    • 环境查看
    $ hostname
    gitlab
    $ uname -a
    Linux gitlab 3.10.0-957.27.2.el7.x86_64 #1 SMP Mon Jul 29 17:46:05 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
    $ whoami
    ansheng
    $ cat /etc/redhat-release
    CentOS Linux release 7.6.1810 (Core)
    $ getenforce
    Disabled
    $ sudo systemctl status firewalld
    ● firewalld.service - firewalld - dynamic firewall daemon
       Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
       Active: inactive (dead)
         Docs: man:firewalld(1)

    安装

    • 安装docker
    $ curl -sSL https://get.docker.com/ | sudo sh
    $ sudo systemctl enable --now docker
    • 运行GitLab
    $ sudo docker run --detach \
      --hostname git.ansheng.me \
      --publish 443:443 \
      --publish 80:80 \
      --publish 8022:22 \
      --name gitlab \
      --restart always \
      --volume /srv/gitlab/config:/etc/gitlab \
      --volume /srv/gitlab/logs:/var/log/gitlab \
      --volume /srv/gitlab/data:/var/opt/gitlab \
      gitlab/gitlab-ce:latest

    上面的配置中,请根据自己的实际情况进行调整,GitLab产生的数据都将存储在/srv/gitlab/目录下,如果不需要SSL是不用开放443端口的,因为系统本身占用了22端口,所以我把默认的22改成了8022

    • 数据目录介绍
    本地位置 容器位置 作用
    /srv/gitlab/data /var/opt/gitlab 数据
    /srv/gitlab/logs /var/log/gitlab 日志
    /srv/gitlab/config /etc/gitlab 配置文件
    • 访问测试

    启动之后可能需要很长时间才能运行起来,你可以通过sudo docker logs -f gitlab来跟踪日志,第一次访问的时候系统会要求设置管理员密码

    gitlab-set-password

    设置完密码之后进行登陆,默认的用户名是root

    gitlab-login

    登陆成功之后,如下是默认的首页,至此,安装部分以及完成。

    gitlab-home

    创建一个项目试试

    接着上图,我们点击首页上面的Create a project来创建一个项目

    gitalab-create-project

    如上,我们创建了一个私有的项目,项目命名为caca,隶属人root下,我这里只是作为演示,生产环境中是不会使用root用户的,毕竟不太安全,创建完成之后会进入项目首页,如下:

    gitlab-project-home

    然后我们点击右上角的Clone,尝试把项目下载下来

    gitlab-project-clone

    复制Clone with SSH下的指令git clone ssh:[email protected]/root/caca.git,这条指令默认使用的是22端口,但是我们在运行gitlab时指定的端口是8022,所以我们还需要进行一些配置才能够正确的clone项目。

    配置

    容器使用的是官方Omnibus GitLab软件包,配置文件默认在/etc/gitlab/gitlab.rb中,若要修改配置,我们首先需要进入容器

    $ sudo docker exec -it gitlab /bin/bash
    [email protected]:/#
    • 基本的配置
    $ vim /etc/gitlab/gitlab.rb
    # 默认使用的是22端口,我们需要更改为8022
    gitlab_rails['gitlab_shell_ssh_port'] = 8022
    # 如果你更换了域名,需要将下面的配置改为新域名,这里不需要更改
    # external_url 'http://newgit.ansheng.me'

    当然你也可以编辑/srv/gitlab/config/gitlab.rb这个配置文件

    然后退出并重启容器使配置生效

    $ sudo docker restart gitlab

    再次刷新页面,复制Clone with SSH链接,发现端口以及改成了8022

    gitlab-project-change-ssh

    然后你就可以愉快的把项目clone到本地玩耍了!

    • 配置邮件

    邮件还是挺重要的,修改密码,消息通知等都会用到邮件,若要配置邮件,进入gitlab容器,然后打开配置文件

    $ vim /etc/gitlab/gitlab.rb
    # 增加如下配置
    gitlab_rails['smtp_enable'] = true
    gitlab_rails['smtp_address'] = "smtp.gmail.com"
    gitlab_rails['smtp_port'] = 587
    gitlab_rails['smtp_user_name'] = "[email protected]"
    # 这里的密码是应用专用密码,不是你登陆gmail的密码
    gitlab_rails['smtp_password'] = "xxxx"
    gitlab_rails['smtp_domain'] = "smtp.gmail.com"
    gitlab_rails['smtp_authentication'] = "login"
    gitlab_rails['smtp_enable_starttls_auto'] = true
    gitlab_rails['smtp_tls'] = false
    gitlab_rails['smtp_openssl_verify_mode'] = 'peer' 

    配置修改完之后需要reconfig下,执行如下指令

    $ gitlab-ctl reconfigure

    然后进入gitlab的console来发送一封测试邮件

    $ gitlab-rails console
    Notify.test_email([email protected]', 'Message Subject', 'Message Body').deliver_now

    打开你的邮箱,你就可以收到如下的测试邮件

    gitlab-send-mail

    • 关闭注册

    在登陆的时候不知道你有没有发现,旁边还有一个注册栏

    gitlab-register

    作为一个私有的git,有时我们是不希望别人进行注册的,所以我们需要关闭注册功能,若要添加用户,只能让管理员手动添加。

    关闭注册功能需要使用root用户,以root用户登陆之后执行如下操作

    1. 点击顶部栏的Admin Area
    2. 点击左侧栏的Settings
    3. 找到Sign-up Restrictions设置;
    4. 取消勾选Sign-up enabled并点击下方的保存;

    最后再次打开你的登陆页面就会发现已经没有注册功能了

    gitlab-login

    更新

    GitLab更新还是挺勤快的….,还是使用新版本吧

    • 停止正在运行的容器
    $ sudo docker stop gitlab
    • 删除现有容器
    $ sudo docker rm gitlab
    • 拉取最新的image
    $ sudo docker pull gitlab/gitlab-ce:latest
    • 使用先前指定的选项再次创建容器
    $ sudo docker run --detach \
      --hostname git.ansheng.me \
      --publish 443:443 \
      --publish 80:80 \
      --publish 8022:22 \
      --name gitlab \
      --restart always \
      --volume /srv/gitlab/config:/etc/gitlab \
      --volume /srv/gitlab/logs:/var/log/gitlab \
      --volume /srv/gitlab/data:/var/opt/gitlab \
      gitlab/gitlab-ce:latest

    然后经过漫长的等待,再次打开会发现版本已经是最新的了,然后打开顶部栏的Admin Area,有一个栏目Components,会显示你当前gitlab的组件版本

    gitlab-admin-components

    当然我们刚刚升级完,肯定是最新的咯

    参考文献

    相关说明:

    1、VIP会员无限制任意下载,免积分。立即前往开通>>

    2、下载积分可通过日常 签到绑定邮箱 以及 积分兑换 等途径获得!

    3、本站资源大多存储在云盘,如出现链接失效请评论反馈。

    4、所有站内资源仅供学习交流使用。未经原版权作者许可,禁止用于任何商业环境,否则后果自负。为尊重作者版权,请购买正版作品。

    5、站内资源来源于网络公开发表文件或网友分享,如侵犯您的权益,请联系管理员处理。

    6、本站提供的源码、模板、软件工具等其他资源,都不包含技术服务,请大家谅解!

    7、源码、模板等资源会随着技术、坏境的升级而存在部分问题,还请慎重选择。


    源站网 » Docker安装及配置GitLab

    常见问题FAQ

    免费下载资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    源码软件是否含有后门木马?
    请您自己利用专门的查杀木马工具对源码源代码进行检测!

    发表评论

    • 851会员总数(位)
    • 17825资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 403稳定运行(天)

    赞助本站发展 维持服务器消耗

    全站源码免费下载 立刻赞助
    永远免费 永远年轻赞助本站