Gitlab 及 Gitlab Runner的搭建

作者: 刀哥说Java | 来源:发表于2019-08-19 16:57 被阅读5次

    本文后续所有安装都基于 docker ,所以需要一定的 docker 基础知识储备。

    Docker 的准备

    卸载 原 Docker

    # 卸载Docker ( CentOS )
    
    sudo yum remove docker \
    docker-common \
    container-selinux \
    docker-selinux \
    docker-engine
    
    # 删除原Docker的镜像,网络,存储卷等文件
    
    rm -fr /var/lib/docker/
    
    

    安装 Docker

    
    # Docker 官方(速度较慢)
    
    curl -sSL https://get.docker.com | sh
    
    # 国内加速版本
    
    curl -sSL https://get.daocloud.io/docker | sh
    
    

    如安装过程中出现 “Failed to set locale, defaulting to C”
    使用如下命令,echo “export LC_ALL=en_US.UTF-8” >> /etc/profile

    Docker 安装 官网参考文章

    Docker 安装 国内参考文章

    启动 docker

    # 启动服务
    
    sudo systemctl start docker
    
    

    天朝特色(设置加速器)

    # daocloud 一键解决方案
    curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://a1c42b37.m.daocloud.io
    sudo systemctl restart docker
    
    # 阿里云方案(如果是阿里云服务器,推荐该方案)
    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": ["https://lj65tfot.mirror.aliyuncs.com"]
    }
    EOF
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    
    

    Gitlab 相关

    修改ssh 端口

    # 查看端口
    
    netstat -tnlp |grep ssh
    
    # 修改文件
    
    vi /etc/ssh/sshd_config
    
    # 重启
    service sshd restart
    
    

    说明:git 中会使用到 ssh 协议,所以会使用到 22 端口。

    准备 Gitlab 镜像

    docker pull gitlab/gitlab-ce
    
    

    安装 Gitlab

    
    sudo docker run --detach \
        --publish 443:443 --publish 80:80 --publish 22:22 \
        --name gitlab \
        --restart always \
        --volume /srv/docker/gitlab/config:/etc/gitlab \
        --volume /srv/docker/gitlab/logs:/var/log/gitlab \
        --volume /srv/docker/gitlab/data:/var/opt/gitlab \
        --env GITLAB_OMNIBUS_CONFIG="external_url 'http://180.76.110.35';" \
        gitlab/gitlab-ce:latest
    
    

    说明 443端口为https使用,80端口为http使用,22端口为ssh使用。

    配置 Gitlab 配置

    • 配置 IP、域名等设置。

    修改 /srv/docker/gitlab/config/gitlab.rb 文件

    vi /srv/docker/gitlab/config/gitlab.rb
    
    修改:external_url '服务器IP/已备案的域名'
    
    示例:external_url 'http://180.76.110.35/'
    
    
    • 配置邮箱服务

    修改 /srv/docker/gitlab/config/gitlab.rb 文件

    gitlab_rails[‘smtp_enable’] = true 
    gitlab_rails[‘smtp_address’] = “smtp.163.com” 
    gitlab_rails[‘smtp_port’] = 25 
    gitlab_rails[‘smtp_user_name’] = “xxx@163.com” 
    gitlab_rails[‘smtp_password’] = “xxx” 
    gitlab_rails[‘smtp_domain’] = “163.com” 
    gitlab_rails[‘smtp_authentication’] = :login 
    gitlab_rails[‘smtp_enable_starttls_auto’] = true
    
    gitlab_rails[‘gitlab_email_from’] = “xxx@163.com” 
    
    user[“git_user_email”] = “xxx@163.com”
    
    

    修改之后重新加载配置文件

    # 进入 容器 中
    
    docker exec -it gitlab bash
    
    # 加载配置
    
    gitlab-ctl reconfigure
    
    
    • 配置https

    TODO

    • 关闭注册

    root 用户登录,admin area -> settings -> Sign-up Restrictions -> Sign-up enabled 关闭即可。

    配置Gitlab CI 配置

    • 安装 runner
    docker run -d --name gitlab-runner --restart always \
      -v /srv/docker/gitlab-runner/config:/etc/gitlab-runner \
      -v /var/run/docker.sock:/var/run/docker.sock \
      gitlab/gitlab-runner:latest
    
    
    • 注册 runner
    docker exec -it gitlab-runner gitlab-ci-multi-runner register
    
    

    注意,此处需要登录到 gitlab 中 查询密钥。

    • Gitlab Runner Cache

    TODO

    安装 Runner 参考文章

    注册 Runner 参考文章

    相关文章

      网友评论

        本文标题:Gitlab 及 Gitlab Runner的搭建

        本文链接:https://www.haomeiwen.com/subject/exdesctx.html