我目前有一個遠程的EC2實例設置在我的本地git回購。推送工作。EC2 Rails Git問題:第一推動工作,但沒有更新現在
git push remote_name master
Delta compression using up to 4 threads.
Compressing objects: 100% (10/10), done.
Writing objects: 100% (12/12), 896 bytes | 0 bytes/s, done.
Total 12 (delta 6), reused 0 (delta 0)
To [email protected]:eko_web.git
4342c41..7bbc7db master -> master
當我ssh到遠程EC2我能找到我做了複製我的應用程序VAR /應用/電流/但沒有進一步的更新最先推。當我看着我的裸Git回購時,我發現我最近推動當我做git show HEAD:<some_file>
。當我手動編輯var/app/current中的視圖時,更改不會反映在我的網站中;我看到的是同樣的初始推動力。我有裸露的git倉庫的鉤建立在後收到以下內容:
#!bin/sh
GIT_WORK_TREE=/var/app/current git checkout -f
作爲一個全面的介紹,我用下面的教程,讓我到這地步。 http://myrailslearnings.wordpress.com/2013/02/19/getting-ec2-to-use-git-for-rails-app/http://www.lovholm.net/2013/06/26/push-your-code-onto-your-ec2-instance-with-git/
感謝您對此的任何想法!
編輯:
每波多黎各的建議下,我開始是沒有被初始化青苗一個新的實例。我現在有一個git倉庫(當手動更新時)反映服務器上的更改。但是我仍然無法遠程推送到該位置;它顯示了一個成功的推動,但然後文件在那裏,但沒有承諾。如果我手動提交它們,然後重新啓動服務器,則會更新網站。
服務器上的git回購是否爲裸回購?裸回購不保存文件,只保存提交歷史記錄,因此不能用作工作樹。你應該在服務器上克隆克隆。看來你正在重新發明輪子。 Rails世界有一個用於部署代碼的標準:看看https://github.com/capistrano/capistrano – Arya
是的,git回購是裸露的。但是var/app/current不是,它確實包含了我的應用程序的完整版本;只是從第一次推。有很多東西需要學習,我不想用AWS(以前只用Heroku)和部署工具atm來壓垮自己。如果我克隆到服務器,那麼我會設置GIT_WORK_TREE到那個位置?我不明白它實際上是如何更新網站本身的...爲什麼它第一次運作? – Morgan