2016-12-27 13 views
8

Tôi muốn triển khai một ứng dụng Heroku sẽ được thực hiện lý tưởng bằng cách sử dụng git push -u heroku master. Tuy nhiên, điều này sẽ chỉ hoạt động nếu có bất kỳ cam kết đang chờ xử lý nào được đẩy để làm chủ.Redeploy ứng dụng Heroku mà không cần thay đổi mã

Tôi làm cách nào để triển khai lại ứng dụng trong khi không có gì để đẩy? Tôi cố gắng git push -u heroku master -f và vẫn nhận được tương tự dưới đây

Branch master set up to track remote branch master from heroku. 
Everything up-to-date 

PS: Tôi cũng muốn giữ lại các ứng dụng hiện có, có nghĩa là tôi không thể tận dụng các câu trả lời này https://stackoverflow.com/a/22043184/968442

+0

này nghe có vẻ giống như một [XY vấn đề] (https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem). Bạn hy vọng điều gì sẽ đạt được bằng cách triển khai lại cùng một mã? – Chris

+0

Một trường hợp mà tôi đã thay đổi vài configvars, mà xứng đáng là một redeployment nhưng không có cam kết – nehemiah

+0

[Thiết lập một var cấu hình] (https://devcenter.heroku.com/articles/config-vars#setting-up-config-vars-for -a-deploy-application) khiến ứng dụng của bạn được khởi động lại. Nó sẽ có hiệu lực mà không cần triển khai lại. Bạn có thể cụ thể hơn không? – Chris

Trả lời

18

Thông thường thiết lập một var cấu hình gây ứng dụng của bạn để được khởi động lại. Trong hầu hết các trường hợp, không cần phải triển khai lại sau khi thực hiện việc này.

Nếu bạn thực sự cần phải kích hoạt triển khai mới, bạn có thể thêm một mới có sản phẩm nào cam kết, sau đó đẩy tới Heroku một lần nữa:

git commit --allow-empty -m "Trigger Heroku deploy after enabling collectstatic" 
git push heroku master 

Các sản phẩm nào mới cam kết là một thường xuyên cam kết. Nó có một băm, một tác giả, một dấu thời gian, vv Nó sẽ có cùng một cây với cha mẹ của nó. Điều này sẽ khiến Heroku xây dựng lại slug ứng dụng của bạn bằng cách sử dụng cùng mã như cam kết trước đó.

Hơi khó xử, nhưng nó hoạt động.

+0

Âm thanh đủ công bằng và thực hiện công việc. Bây giờ tôi bị cám dỗ để sao lưu/khôi phục kho lưu trữ ('.git') để ẩn cam kết này khỏi github. – nehemiah

+0

@itsneo, tôi sẽ không bận tâm. Đó là một cam kết xấu xí, nhưng nếu bạn tiếp tục viết mã trên đầu trang của cam kết trước đó, bạn sẽ phải ép buộc để Heroku trong thời gian tới. Đó không phải là một thói quen tuyệt vời để có được, mặc dù đôi khi nó có thể cần thiết… – Chris

+0

Ngay cả với 'git commit --allow-empty' Tôi nhận được' Mọi thứ cập nhật 'từ Heroku ... –

Các vấn đề liên quan