4.1 Gitlab的搭建与设置

未匹配的标注

环境准备

我们打算把gitlabjenkins都通过docker的方式,安装在同一个虚拟机里。虚拟机IP:192.168.1.220

创建专属网络

我们跟之前一样,创建一个专属网络

docker network create cicd --driver bridge

更改虚拟机ssh端口

把虚拟机的ssh端口从22改为222(因为GIT底层也是22端口)

vim /etc/ssh/sshd_config
systemctl restart sshd

gitlab

映射文件夹创建

mkdir -p /usr/local/data/gitlab/etc
mkdir -p /usr/local/data/gitlab/log
mkdir -p /usr/local/data/gitlab/data

Docker Compose

gitlab/docker-compose.yml

version: '3'

services:
  gitlab:
    image: 'gitlab/gitlab-ce:13.1.1-ce.0'
    restart: always
    hostname: 'git.guaosi.com'
    networks:
      - cicd
    container_name: gitlab
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://git.guaosi.com'
        gitlab_rails['time_zone'] = 'Asia/Shanghai'
        gitlab_rails['smtp_enable'] = true
        gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
        gitlab_rails['smtp_tls'] = true
        gitlab_rails['smtp_port'] = 465
        gitlab_rails['smtp_user_name'] = "xxx@qq.com"
        gitlab_rails['smtp_password'] = "xxx"
        gitlab_rails['smtp_domain'] = "smtp.qq.com"
        gitlab_rails['smtp_authentication'] = "login"
        gitlab_rails['smtp_enable_starttls_auto'] = true
        gitlab_rails['gitlab_email_from'] = 'guaosi'
        gitlab_rails['backup_keep_time'] = 14515200
        logging['logrotate_frequency'] = "weekly"
        logging['logrotate_rotate'] = 52
        logging['logrotate_compress'] = "compress"
        logging['logrotate_method'] = "copytruncate"
        logging['logrotate_delaycompress'] = "delaycompress"
        gitlab_rails['gitlab_shell_ssh_port'] = 22
        # Add any other gitlab.rb configuration options
    ports:
      - '443:443'
      - '22:22'
      - '80:80'
      - '9090:9090'
    volumes:
      - '/usr/local/data/gitlab/etc:/etc/gitlab'
      - '/usr/local/data/gitlab/log:/var/log/gitlab'
      - '/usr/local/data/gitlab/data:/var/opt/gitlab'
      - '/root/.ssh:/root/.ssh'

networks:
  cicd:
    external:
      name: cicd

启动

cd gitlab
docker-compose up -d

完全启动时间大约5分钟

域名设置

我们在Mac上更改hosts

192.168.1.220  git.guaosi.com

设置

Outbound requests

我们在Mac 上登陆 git.guaosi.com

第一次会让我们初始化root用户的密码,设置成功后进入gitlab界面。

我们进入 git.guaosi.com/admin/application_se...
然后在 Outbound requests 中勾上

Allow requests to the local network from web hooks and services

以及

Allow requests to the local network from system hooks

然后点击保存,退出当前账号,重新注册一个自己喜欢的账号。

设置密钥

我们进入 git.guaosi.com/profile/keys

将我们Mac的公钥填入,然后保存即可。现在我们就可以直接通过Git命令与Gitlab进行交互了。

我们可以创建一个projects,然后将我们本地的account文件夹用git初始化后上传到我们自建的gitlab中。

id_key的生成以及git指令这块相信大家应该都很清楚了,所以我就说一下大体流程而已。如果还不懂Git的小伙伴们,只能自行百度学习一下了噢~

如果是直接git clonegithub里代码的小伙伴,里面account文件夹下是有.git信息的,记得删除后再初始化git噢~

仓库

对应的相关代码和部署文件,已经传至github,欢迎star。

持续交付、集成、部署:github.com/guaosi/go-cicd

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~