Câu trả lời của Mohannd là hoàn hảo, nhưng tôi muốn tóm tắt giải pháp hoàn chỉnh, trong trường hợp một số người khác cần nó:
Để sử dụng github repo của bạn làm repo Openshift, hiện tại không có giải pháp hoàn hảo, bởi vì, Openshfit sử dụng git hooks để kích hoạt triển khai hoặc tái triển khai dựa trên cam kết của bạn. Tuy nhiên, cách thông minh nhất là sử dụng 2 repo (một của openshift và của github của bạn) để đẩy đồng thời mã tới.
Để thực hiện việc này: Thêm điều khiển từ xa có tên "tất cả" và thêm 2 url đẩy vào đó.
git remote add all ssh://23456781234567@yourapp-namespace.rhcloud.com/~/git/yourapp.git
git remote set-url openshift-git-repo --push --add ssh://23456781234567@yourapp-namespace.rhcloud.com/~/git/yourapp.git
git remote set-url github-repo --push --add git@github.com:youruser/yourapp.git
Sau đó đặt điều khiển từ xa có tên 'tất cả' làm điều khiển từ xa đẩy mặc định:
git push -u all
Để cam kết và đẩy mã của bạn, hãy tiếp tục như bình thường: Nó sẽ đẩy 2 điều khiển từ xa và triển khai trên OpenShift
git add .
git commit -m "my commit"
git push
Và xem kết quả:
[master 3fc96b2] my commit
1 file changed, 2 deletions(-)
MyLaptop:myapp User$ git push
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 291 bytes | 0 bytes/s, done.
Total 3 (delta 2), reused 0 (delta 0)
To git@github.com:User/myapp.git
a036a44..3fc96b2 master -> master
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 291 bytes | 0 bytes/s, done.
Total 3 (delta 2), reused 0 (delta 0)
remote: Stopping PHP 5.4 cartridge (Apache+mod_php)
remote: Waiting for stop to finish
remote: Waiting for stop to finish
remote: Building git ref 'master', commit 3fc96b2
remote: Preparing build for deployment
remote: Deployment id is 9037d37a
remote: Activating deployment
remote: Starting PHP 5.4 cartridge (Apache+mod_php)
remote: Application directory "/" selected as DocumentRoot
remote: -------------------------
remote: Git Post-Receive Result: success
remote: Activation status: success
remote: Deployment completed with status: success
To ssh://23456789@myapp-namespace.rhcloud.com/~/git/myapp.git/
a036a44..3fc96b2 master -> master
MyLaptop:myapp User$
Hi vọng điêu nay co ich