分類
Google Cloud Platform

Google Cloud Source Repositories(GCSR) 如何將遠端的 Repo clone 到本地端

Situation:

 想將 Google Cloud Source Repositories 已存在的遠端 repo clone 到本地端

 

Action : 

1.安裝 Google Cloud SDK(已安裝請忽略)

2.開啟 Google Cloud SDK Shell 並使用指令移動到想放置本地端 repo 的路徑

3.使用瀏覽器開啟 Cloud Source Repositories 的遠端 repo 頁面(以下為 hello-world 的示範頁面)

4.點擊右上方的”建立本機副本”並選擇 “Google Cloud SDK” 再複製”透過指令列複製存放區”的指令(這個指令就是把遠端 repo clone 到本地端的指令)

5.將第4步驟複製的指令貼到第2步驟開啟的 Google Cloud SDK Shell 中並執行(如下畫面)

 

Result : 

本地端應該可以看到從遠端 clone 下來的 repo)

分類
Google Cloud Platform

Google Cloud Source Repositories 如何將本地端已存在的 Repo 推送到遠端

Situation :

本地端已存在 git repo,現在想將本地端的 git repo 推送到遠端的新 repo

Action :

1.先到 GCSR 新增遠端新 repo
到 https://source.cloud.google.com/repos ->點擊新增存放區->點擊建立新的存放區->點擊繼續->輸入存放區名稱->選擇已存在專案或新增專案->點擊建立

2.A建立本地端 repo 與SSH驗證

2.A.1在”請選取將程式碼推送至存放區的選項:”選擇”從本機 Git 存放區推送程式碼”

2.A.2在”選取您偏好的驗證方式:”選擇”SSH驗證”

2.A.3點擊透過Google Cloud 註冊安全殼層金鑰組的連結

2.A.4登入 Google 帳號

2.A.5在註冊安全殼層金鑰的視窗,輸入金鑰名稱和金鑰內容

金鑰名稱沒有特別限制,但請盡量提供具體且明確的名稱,如某某電腦

如果你沒有金鑰請按照這篇產生一組新的金鑰。
如果你已經有金鑰按照這篇把金鑰內容填到註冊安全殼層金鑰中。

完成後在註冊安全殼層金鑰視窗都會填入金鑰名稱和金鑰內容,後續就可以透過SSH驗證進行git操作

2.A.6最後進行 3.從本機 Git 存放區推送程式碼:


2.B建立本地端 repo 與手動產生認證(手動產生認證可能會有問題,可以的話盡量使用2.A的SSH來驗證)
2.B.1在”請選取將程式碼推送至存放區的選項:”選擇”從本機 Git 存放區推送程式碼”

2.B.2在”選取您偏好的驗證方式:”選擇”手動產生的憑證”

2.B.3點擊 1.產生及儲存 Git 憑證->將 Configure Git 頁面中的 Windows Users 程式碼複製並貼到本地端的 git bash

2.B.4移動到本地端專案路徑並進行 2. 進行將 Cloud Repository 新增為遠端存放區:(這裡注意最好編輯成1行再貼到 git bash,如 git remote add google https://xxxx)

2.B.5最後進行 3.從本機 Git 存放區推送程式碼:


3.錯誤處理

a.注意若推送時出現以下錯誤

fatal: remote error:
Invalid authentication credentials.
Please generate a new identifier: https://source.developers.google.com/new-password

代表要重新產生憑證,移動到 https://source.developers.google.com/auth/start?scopes=https://www.googleapis.com/auth/cloud-platform,再選擇登入帳號後會出現 Configure Git 頁面,將 Authenticate as yourgoogleaccount to source.developers.google.com 下方顯示的程式碼貼到 git bash(直接複製整段程式碼貼到 git bash 即可)。
Configure Git 頁面主要是用來設定本地端 git 和遠端 repository 的權限,有上下 2 部分的 code,上方的 code 是用在 cmd ,下方的 code 是用在 git bash。

b.若推送時出現以下錯誤

fatal: unable to access ‘https://source.developers.google.com/p/reponame/’: SSL certificate problem: self signed certificate in certificate chain

可以考慮使用以下解法

  1. 試著使用SSH協議代替HTTPS協議。這樣可以避免SSL證書驗證的問題。你需要添加你的公鑰到你的Google Cloud Platform帳戶中。詳細的操作指南可以參考這個連結:https://cloud.google.com/source-repositories/docs/authentication
  2. (快速)如果你想繼續使用HTTPS協議,那麼可以嘗試在Git命令中添加一個參數來忽略SSL證書的驗證。你可以使用以下命令:

    git config --global http.sslVerify false

    這會將Git的全局設置中的http.sslVerify設置為false,這樣Git就不會驗證SSL證書了。但是,這樣做會降低安全性,因為Git無法確定你連接的網站是否可信。

Result :

完成後在 GCSR 的 repo 便可看到推送的內容。

分類
Google Cloud Platform

Google Cloud Source Repositories 試用紀錄

2021/11/19 更新

GCSR的入口不好找,首先進入 Google Cloud Platform,點擊左上方的導覽選單圖示,圖示的下拉選單中有

“持續整合/持續推送軟體更新” 類別的 Source Repositories 就是啦!!!!


GCSR(Google Cloud Source Repositories) 是 Google 推出以 Git 為基礎的程式碼代管服務。
原先我的Side Project是自己建 Git Server 來放置 Source Code,後來因為硬體故障等等
自己維護需要花費不少時間和成本,加上本身也是 Google 的愛好者,最後選擇 GCSR 來試試。
首先談談 GCSR 的缺點,基本上最麻煩的部分為 Google 提供的 Repository 必須依附於Google Cloud Platform(GCP)上的專案。
也就是說你必須先了解基本的 GCP 使用方式才能開始用 GCSR。
第2個麻煩的部分在於 Create, Clone Repository 在官方教學中必須透過 Google Cloud SDK 才能使用(也許可以透過別的方式但還未試出),也就是說你必須先安裝 Google Cloud SDK才能開始使用 GCSR。
第3個麻煩的部分在於免費版的限制,如下

免費方案超量
最多 5 位使用者每位專案使用者每月 $1 美元 (專案使用者達 5 位以上時)
50 GB 儲存空間每 GB 儲存空間 每月 $0.10 美元
50 GB 輸出每 GB 輸出每月 $0.10 美元

若以上 3 個限制您都還可以接受,那就繼續往下看吧。
首先提供官網 GCSR 的說明。若想直接參考使用方式請看 quick start
1.在 Google Cloud Platform 建立專案
建議新增獨立的 GCP 專案來放置 Repository 避免和其他的專案混淆。
2.安裝Google Cloud SDK
安裝 SDK 的目的就是用來新增,複製專案(應該是可以透過其他方式來做到但還未試出)。
注意安裝完成之後還需要進行初始化的動作,參考這裡
3.安裝git
Windows 官方推薦使用 git-scm
Linux就用 command line 安裝吧
4.使用 Google Cloud SDK(gcloud command line) 建立 Repository

gcloud source repos create hello-world

clone repo 到本地端

gcloud source repos clone hello-world

從官網看起來似乎只有 Create 和 Clone 需要使用 gcloud
其它的操作就可以使用一般的 git 指令,如 git add, git commit, git push等等
5. GCSR UI
使用者介面就像 github,gitlab 等等,GCSR也有提供 Repository 的 UI 操作。
以下為 Repository 的介面,存放區即為 Repository

以下是搶先試用版的畫面


Update –2018-09-30