敲黑板 | 云帮如何对接Git Server

前言

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

私有云

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

对接GitLab

通过应用市场进行安装Gitlab

安装GitLab应用

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

  • 安装Mysql
  • 安装Redis
  • 安装GitLab 默认的管理账号:admin@example.com/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 对外开放的端口

原文发布于微信公众号 - 好雨云(goodrain-cloud)

原文发表时间:2017-04-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java成神之路

Maven之 环境搭建

这几天开始了maven的学习,看了孔浩老师的视频(http://pan.baidu.com/s/1o7bg2h0),以及黄勇大牛的博客(http://my.os...

27310
来自专栏dotnet & java

这可能是最low的发布dotnet core站点到centos7教程

不得不说:我在chrome上写了好长一段,贴了23张图,然后一个crash。。我想说我电脑上的chrome已经crash太多次了 以后一定要搞离线编辑的。

9730
来自专栏XAI

ActiveMQ介绍

1、ActiveMQ服务器工作模型       通过ActiveMQ消息服务交换消息。消息生产者将消息发送至消息服务,消息消费者则从消息服务接收这些消息。这些消...

23990
来自专栏从流域到海域

在CentOS 7上安装Magento

在这篇教程中,您将学习如何在CentOS 7上安装Magent。Magento Community Edition(CE,即社区版)是一个免费的开源电子商务平台...

68260
来自专栏Python攻城狮

Django教程(一)- Django视图与网址1.简介2.环境搭建3.安装pycharm4.Ubuntu下 正确安装VMware Tools5.Django主要模块6.Django基本命令7. Dj

Django 是用Python开发的一个免费开源的Web框架,可以用于快速搭建高性能,优雅的网站!

16320
来自专栏慎独

如何在Github上给别人的项目贡献代码

15040
来自专栏BeJavaGod

RabbitMQ 一二事 - 简单队列使用

消息队列目前流行的有三种 1. RabbitMQ 2. ActiveMQ 3. Kafka 这三种都非常强大,RabbitMQ目前用的比较多,也比较流行,阿里也...

33350
来自专栏数据和云

你造吗,Oracle SQLplus 也有History命令了

很多时候我们只能通过SQLPlus来操作数据库,而当一个SQL执行结果太多时,我们要回翻之前的SQL语句就会很麻烦,甚至可能由于ssh客户端或SQLPlus客户...

33550
来自专栏菩提树下的杨过

64位centos 下编译 hadoop 2.6.0 源码

64位os下为啥要编译hadoop就不解释了,百度一下就能知道原因,下面是步骤: 前提:编译源码所在的机器,必须能上网,否则建议不要尝试了 一. 下载必要的组件...

25150
来自专栏北京马哥教育

ansible基础应用

一、运维主要工作 ? ansible聚集以上功能于一身,能够完整轻易的实现应用部署和批量命令功能,适用于主机数量不太多,再大的用puppet。 二、ansib...

40170

扫码关注云+社区

领取腾讯云代金券