2013-08-26 52 views
9

首先,對於我可能在此處拋出的虛擬問題表示歉意。如果你能指出我應該從哪裏出發的路線,那將會很好。有關在亞馬遜雲上設置git的虛擬問題ec2

我完全不熟悉版本控制(以及git)和雲系統。但是,我必須在AWS EC2實例上開發基於php的Web應用程序,併爲將來的開發人員創建可供編碼的代碼。

我成功地創建了運行PHP/MySQL並使用Elastic IP映射域的EC2實例。因此,網站現在通過端口可公開訪問的80

我也使用$sudo yum install git和的ConfigEd user.name和user.email

我的話,去的網站的根文件夾(如的public_html),並運行安裝的git 'git init'它創建摺疊「.git」,然後我使用「git add .」和提交「git commit -m ‘initial upload’

添加文件這是正確的路要走嗎?將項目文件夾放在/ public_html(任何人可以訪問的地方)都可以。

如果以上是好的,那我應該從哪裏出發? 我想讓EC2上運行的git服務器允許開發人員從本地機器(例如Eclipse)連接,同時能夠保留備份並比較不同的代碼。

我想給開發者什麼細節,以便他們可以連接到git服務器並處理項目?

我快速的方向或幾個關鍵字做更多的研究將有助於。

回答

9

here的更多信息,設置git的在Amazon EC2上

允許開發者使用你的Git,你只是需要給他們git的服務器URL。

直接引用我鏈接到的網站。

「首先,您需要將您的EC2的身份加入到SSH 認證代理,這樣可以防止問題的git後,即 得到錯誤‘權限被拒絕(公鑰)’。努力做一個時 混帳推到EC2資源庫。

ssh-add path/to/privateEC2key.pem 

現在你可以繼續創建在EC2實例 git倉庫。

ssh [email protected] 
mkdir the_project.git 
cd the_project.git 
git init --bare 

因此,在這裏沒有太多的事情,我們所做的只是創建一個空的存儲庫,然後離開。現在,在本地機器上,你做的東西像 如下:

cd the_project 
git init 
git add . 
git commit -m "Initial git commit message" 
git remote add origin [email protected]:the_project.git 
git config --global remote.origin.receivepack "git receive-pack" 
git push origin master 

的「混帳配置」命令修復,我發現需要能夠 推到EC2資源庫」

+1

非常感謝您的幫助,AlekCarlsen。我確實按照指示進行了操作,對git和現在的工作方式有了更好的理解。 我現在的解決方案是在GitHub上託管主要的repo,並在需要時將其克隆到開發環境(作爲開發人員)。一旦變更完成並準備就緒,我將把所有變更從GitHub中移除。 :) – Chanon

3

亞歷克斯提到的鏈接給出了在ec2上設置git的一個很好的起點。但我遵循了這裏提到的一些不同的方法。 link。從頁面直接引用:

「無需PEM密鑰連接SSH」:因此,您可以添加ec2私鑰並將其作爲實體添加到您的ssh身份驗證代理中,或爲您的用戶創建一個新的ssh密鑰並使用那。步驟應遵循如下:

創建SSH密鑰

一起來,你需要瀏覽到您的.ssh文件夾在本地機器上:

cd 
cd .ssh 

如果此文件夾不存在使用mkdir來製作它。

一旦在你的本地機器上的ssh文件夾中,它應該在/Users/yourusername/.ssh中,通過執行以下命令來生成密鑰。

ssh-keygen -t rsa -b 1024 

當提示輸入文件名保存鍵,進入id_rsa_aws,提示時輸入密碼留空。

在您的.ssh目錄中執行以下命令並複製輸出以便稍後粘貼。

cat id_rsa_aws.pub 

現在用你PEM關鍵

ssh -i path/to/yourkeyname.pem [email protected] 

一旦

echo 'the key you copied from id_rsa_aws.pub' >> .ssh/authorized_keys 
chmod 640 .ssh/authorized_keys 
chmod 750 .ssh 

現在你去到您的計算機,然後鍵入

cd desired directory 
git clone [email protected]:<path_to_your_just_created_git_server> 

如果你連接到你AWS實例所有上述提到的步驟是否正確? ,您可能得到的唯一警告是

warning: You appear to have cloned an empty repository. 

沒關係。現在您可以將所有代碼複製到克隆目錄中,並按照以下步驟操作:

git add . 
git commit -m "Initial commit" 
git push origin master // If working on master branch