好雨云帮如何对接 Git Server - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
goodraincloud
V2EX    问与答

好雨云帮如何对接 Git Server

  •  
  •   goodraincloud 2017-04-07 10:02:09 +08:00 1978 次点击
    这是一个创建于 3113 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前言

    云帮目前支持对接 GitLab 、 Gogs 、 Github,或者主流代码托管平台的公开项目,后期会考虑接入其他类型的 Git 服务。

    私有云

    GitLab 是一个用于仓库管理系统的开源项目,私有云服务里使用比较多的自建 Git 服务。

    对接 GitLab

    通过应用市场进行安装 Gitlab

    安装 GitLab 应用

    由于 GitLab 依赖 Mysql 和 Redis ,首先安装 Mysql 和 Redis 应用。

    • 安装 Mysql
    • 安装 Redis
    • 安装 GitLab 默认的管理账号:[email protected]/Administrator

    配置 Gitlab 的 ssh 协议端口

    http(s)和 ssh 的区别:

    • http(s)前者可以随意克隆 git 上项目,不管是谁的;push 项目时需要验证用户名和密码
    • ssh ,克隆项目你必须是项目的拥有者或者管理员,且需要添加 ssh key ; push 无需验证用户名和密码,如果 key 设置了密码,则需要密码(通常没必要),推荐使用 SSH

    待安装完成后,在 GitLab 应用高级选项里添加 SSH 端口 22(stream),开启外部访问,重启应用。

    权限配置

    管理节点:

    docker pull hub.goodrain.com/dc-deploy/console:2017.03 #编辑 docker-compose.yaml 文件,大约在 45 行左右 vi /etc/goodrain/docker-compose.yam 将 image: hub.goodrain.com/dc-deploy/console:2017.02 修改为 image: hub.goodrain.com/dc-deploy/console:2017.03 #修改完 dc-compose stop console cclear dc-compose up -d 

    计算节点:

    #切换到租户服务目录下 cd /grdata/tenant/73e7e82d5558407696601b8461bcb4f7/service #说明 73e7e82d5558407696601b8461bcb4f7 为租户 id ,默认 Tab 键就可以了 

    在 gitlab 应用概览页查看源代码,搜 service_id 对应的值(如: abc)

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

    #当前完整路径 pwd /grdata/tenant/73e7e82d5558407696601b8461bcb4f7(tab 补全)/service/abc(查看源码)/ chmod 755 data # 查看 data 目录权限 ll -a drwxr_xr_x 

    对接 GitLab

    访问 GitLab.

    • 新建一个项目仓库
    • 在仓库里新建一个 index.html 文件并编辑 。
    管理节点测试
    #生成 ssh-key ssh-keygen -t rsa -f /etc/goodrain/ssh/goodrain-builder # 配置 ssh config 文件 cat <<EOF >/etc/goodrain/ssh/config Host * IdentityFile ~/.ssh/goodrain-builder StrictHostKeyChecking no LogLevel ERROR Port 20002 EOF # 更改权限 chown -R rain.rain /etc/goodrain/ssh 

    查看公钥并将其添加到 gitlab 用户的 ssh-key(路径 profile/keys) cat /etc/goodrain/ssh/goodrain-builder.pub

    ## 测试 dps | grep build | awk '{print $1}' din 容器 id(上述命令执行的结果) ls ~/.ssh #查看是否有文件 cd /tmp && git clone <git-url 地址> 
    其他机器测试
    ssh-keygen cat .ssh/id_rsa.pub #添加到 gitlab nano /etc/ssh/ssh_config #大概格式 Host 80.gr06cf43.zhengys.1t8zf.goodrain.io #git 地址 IdentityFile ~/.ssh/id_rsa #私钥完整路径 StrictHostKeyChecking no LogLevel ERROR Port 20002 #git ssh 对外开放的端口 #说明一下 如果存在多个 Git 服务,同时还使用 ssh 管理服务,建议在 Host 里指定 git 地址 #测试 git clone 项目 url 

    对接 Gogs

    相对 GitLab 来说, Gogs 安装更加便捷,是一款极易搭建的自助 Git 服务,而且还是国人开发的。直接在应用市场安装 Gogs 即可。 安装完成,在高级选项里新增端口 22(stream),开启对外部访问。

    • 新建项目,将机器的公钥添加到用户的 ssh-key 列表里。
    • 设置用户的 ssh_config 配置,大概格式

    Host 5000.gr06cf43.zhengys.1t8zf.goodrain.io #git 地址 IdentityFile ~/.ssh/id_rsa #私钥完整路径 StrictHostKeyChecking no LogLevel ERROR Port 20002 #git ssh 对外开放的端口 
    • git clone <git-url>

    公有云

    在公有云搭建 Git 服务和内网自建 Git 服务,对接步骤相同。 公有云新建 Git 步骤同私有云。 云平台 git clone 代码,选择自建 Git ,然后将授权 key 添加 Git 应用的 ssh-key 列表里即可。

    windows

    打开 Git Bash 或者终端工具(cmder 等)
    生成ssh-keygen -t rsa -f ~/.ssh/id_rsa.pub -C "email"
    新增或添加配置文件 config (路径 C:\Users\当前用户.ssh/config )

    Host 5000.gr06cf43.zhengys.1t8zf.goodrain.io #git 地址 IdentityFile ~/.ssh/id_rsa #私钥完整路径 StrictHostKeyChecking no LogLevel ERROR Port 20002 #git ssh 对外开放的端口 

    -END-

    目前尚无回复
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1231 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 40ms UTC 23:41 PVG 07:41 LAX 16:41 JFK 19:41
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86