文字

对接到Gitlab

Gitlab服务可以通过云帮的应用市场进行安装,本文针对在云帮上运行的Gitlab进行介绍。

部署Gitlab应用

由于Gitlab依赖MySQL和Redis服务,因此需要先创建这两个服务(下个版本会优化这个操作,安装Gitlab,自动创建依赖的服务)

  • 部署 MySQL 5.5.46
  • 部署 Redis 2.8.23
  • 部署Gitlab

给服务起个名字,并选择事先创建好的MySQL和Redis服务。

注意:

Gitlab 首次运行时需要从好雨云市拉取镜像,程序启动时需要导入数据库,做一些初始化操作,需要等待5~10分钟(根据网络、机器配置时间会有所不同)可以通过 日志页面查看部署状态。

安装完成后通过Gitlab应用页面的 “访问” 按钮打开Gitlab页面:

opengitlab.png

Gitlab管理员账号:

用户名:admin@example.com 密码:Administrator

配置Gitlab的ssh协议端口

  • 开启多端口
    打开Gitlab的“配置页面” 的 “基础信息”段 将“对外端口配置”选择 “多端口开放”

    gitlab_mulitport.png
  • 添加ssh端口

    gitlab_addssh.png
  • 开启ssh对外访问 gitlab_openssh.png

端口设置完成后需要将Gitlab应用重启。

权限设置

私有云-登录到计算节点

#切换到租户服务目录下
cd /grdata/tenant/73e7e82d5558407696601b8461bcb4f7/service
#说明73e7e82d5558407696601b8461bcb4f7为租户id,默认Tab键就可以了
在gitlab应用概览页查看源代码,搜service_id对应的值(如:abc) 

20170327149059799032705.png
cd到该目录下 (cd abc)后ll一下,可以看到data目录

配置管理节点的ssh config文件

指定到某个git-server使用的私钥, 默认是*, 你也可以按自己的实际情况自行编写

cat <<EOF >/etc/goodrain/ssh/config
Host *
  IdentityFile ~/.ssh/goodrain-builder
  StrictHostKeyChecking no
  LogLevel ERROR
  Port 20002
EOF
  • 更改文件权限为rain用户

    chown -R rain.rain /etc/goodrain/ssh
  • 查看public key 内容
cat /etc/goodrain/ssh/goodrain-builder.pub
  • 添加到gitlab用户的ssh-key(路径profile/keys)

将/etc/goodrain/ssh/goodrain-builder.pub的内容添加到gitlab创建demo项目的用户ssh-key列表中。

  • 点击添加 SSH KEY

    gitlab_sshkey.png
  • 粘贴 管理节点 /etc/goodrain/ssh/goodrain-builder.pub 内容 gitlab_sshkey2.png

说明

ssh-key和 ssh config 是在管理节点上生成并配置,管理节点上的labor和builder程序都是以容器的方式运行,通过挂载的形式将宿主机的/etc/goodrain/ssh 目录挂载到容器内部。详情可以参见 /etc/goodrain/docker-compose.yaml 配置文件。

创建一个demo代码仓库

  • 新建项目

    gitlab_add_project.png
  • 输入项目名称,创建私有项目

    gitlab_add_project2.png
  • 仓库中创建一个index.html 文件

    gitlab_add_project3.png
  • 编辑index.html 文件 gitlab_add_project4.png

管理节点生成ssh-key

平台通过ssh协议拉取Git 代码仓库。在管理节点生成ssh-key

# ssh-keygen -t rsa -f /etc/goodrain/ssh/goodrain-builder
.....
Your identification has been saved in /etc/goodrain/ssh/goodrain-builder.
Your public key has been saved in /etc/goodrain/ssh/goodrain-builder.pub.
.....

查看Gitlab对外开放的ssh端口号

在应用的高级选项里管理端口,添加SSH端口22(stream),开启外部访问,重启应用。

这里的20002端口是Gitlab对外开放的ssh协议端口,你需要查看你自己的Gitlab端口号,平台会随机分配对外端口

对接Gitlab测试

  • 云帮新建应用流程测试
    通过应用向导,创建应用,代码仓库地址使用ssh协议私有的地址。

  • 通过命令行测试
    管理节点执行
    dps | grep build
    din <container-id>
    ls ~/.ssh
    cd /tmp && git clone <git-url>
上一篇: 下一篇:
  页面正在加载中