2013-05-10 40 views
7

Tôi biết rằng git push origin master sẽ cho phép Openshift triển khai lại ứng dụng lên phiên bản mới.Cách triển khai lại ứng dụng Tomcat 7 trên Openshift

Nhưng tình huống của tôi là ứng dụng Tomcat của tôi phụ thuộc vào một dự án maven phụ mô-đun khác, và cả hai đều là ảnh chụp nhanh.

Khi dự án mô-đun con thay đổi (ứng dụng Tomcat vẫn giữ nguyên), git push origin master không hoạt động (Everything up-to-date) và dĩ nhiên Openshift sẽ không triển khai lại ứng dụng của tôi, có nghĩa là nó không gia hạn mới nhất sub-module snapshot tạo tác cho tôi.

Vì vậy, cách giải quyết vấn đề này? Tôi đã thử rhc restartrhc reload nhưng chúng không hoạt động. Có một số lệnh như rhc redeploy?

+0

'git push nguồn gốc chủ -f'? – eis

+0

Nó không hoạt động. Tôi nghĩ rằng '' 'git push - force''' được sử dụng để ghi đè lên mã nguồn trên repo mà không phải là một tổ tiên của ref địa phương. – rAy

+0

@rAy: Đúng vậy, và OpenShift chỉ kích hoạt triển khai nếu một cam kết khác được đẩy sau đó một cam kết đã có. – Flimm

Trả lời

1

Bạn có chắc chắn rằng bạn đã kéo và cam kết những thay đổi gần đây nhất đối với mô-đun con? Những gì có thể xảy ra là tham chiếu đến cam kết submodule mong muốn không được cập nhật, vì vậy ngay cả khi submodule đã thay đổi, bạn dự án không thực sự biết về nó. Tôi tin rằng git submodule status sẽ cho bạn thấy cam kết mà dự án chính của bạn hiện đang biết.

Để cập nhật tham chiếu này, hãy theo dõi these directions.

[main]$ cd ./subm 
[subm]$ git pull origin/master # or fetch then merge 
[subm]$ cd .. 
[main]$ git commit ./subm -m "Updated submodule reference" 

Nếu bạn thay đổi thực sự cam kết trong bước cuối cùng, sau đó OpenShift nên cập nhật nó một cách thích hợp (kể từ thời điểm này, đã có thay đổi đối với repo git).

+0

Tôi nghĩ rằng đây thực sự là câu trả lời đúng cho câu hỏi của OP. +1 –

4

Bạn có thể bắt đầu các bước triển khai bằng cách ssh'ing đến ứng dụng openshift của bạn. Kiểm tra dòng ssh của bạn từ https://openshift.redhat.com/app/console/applications/ -> Nhấp vào ứng dụng của bạn và sau đó "Bạn muốn đăng nhập vào ứng dụng của mình?". Kiểm tra https://www.openshift.com/developers/remote-access để được trợ giúp chi tiết (cảm ơn RustyTheBoyRobot).

Khi trong, chạy:

gear deploy 
+0

Liên kết của bạn đã chết ngay bây giờ. Điều này có giống với những gì bạn đã liên kết với ban đầu không? https://www.openshift.com/developers/remote-access – RustyTheBoyRobot

+0

Tôi nghĩ rằng 'bánh' là nhị phân thích hợp để chạy ngay bây giờ thay thế. Vì vậy, các bước có thể là 'rhc ssh -a

8

Bạn có thể chạy

rhc app deploy HEAD -a <appname> 

nếu bạn đang sử dụng các công cụ dòng lệnh