好雨雲幫如何對接Git Server

前言

雲幫目前支持對接GitLab、Gogs、Github,或者主流代碼託管平臺的公開項目,後期會考慮接入其餘類型的Git服務。html

私有云

GitLab是一個用於倉庫管理系統的開源項目,私有云服務裏使用比較多的自建Git服務。git

對接GitLab

經過應用市場進行安裝Gitlabsql

安裝GitLab應用

因爲GitLab依賴Mysql和Redis,首先安裝Mysql和Redis應用。docker

  • 安裝Mysql
  • 安裝Redis
  • 安裝GitLab 默認的管理帳號:admin@example.com/Administrator

配置Gitlab的ssh協議端口

http(s)和ssh的區別:shell

  • http(s)前者能夠隨意克隆git上項目,無論是誰的;push 項目時須要驗證用戶名和密碼
  • ssh,克隆項目你必須是項目的擁有者或者管理員,且須要添加ssh key;push無需驗證用戶名和密碼,若是key設置了密碼,則須要密碼(一般不必),推薦使用SSH

待安裝完成後,在GitLab應用高級選項裏添加SSH端口22(stream),開啓外部訪問,重啓應用。windows

權限配置

管理節點:ssh

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)gitlab

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 對外開放的端口
相關文章
相關標籤/搜索