Tôi đang phát triển một chủ đề wordpress đang được kiểm soát phiên bản bằng Git và trong khu vực phát triển địa phương (WAMP). Tôi đẩy cam kết bitbucket bằng cách sử dụng smartgit như một GUI. Tôi có 2 chi nhánh, chủ và phát triển. Tôi muốn triển khai nhánh phát triển cho một khu vực dàn dựng (một cài đặt wordpress trên máy chủ trực tiếp của tôi). Tôi đã thử sử dụng ftploy mà không đạt được điều này; tuy nhiên nó dường như không cho phép tôi chọn chi nhánh nào để triển khai và tôi muốn dự trữ triển khai nhánh chính để triển khai cuối cùng thực tế. Tôi đang sử dụng shared hosting nhưng tôi có quyền truy cập SSH. Làm thế nào tôi có thể đạt được tốt nhất việc triển khai chi nhánh phát triển để chia sẻ lưu trữ. Git không được cài đặt trên máy chủ (và không thể)Triển khai dự án web dưới quyền kiểm soát phiên bản GIT để chia sẻ lưu trữ
Trả lời
có một article rằng đề nghị 8 ứng dụng cho git tự động triển khai
Beanstalk - http://beanstalkapp.com/
FTPloy - http://ftploy.com/
Triển khai - https://www.deployhq.com/
Springloops - http://www.springloops.io/
Wercker - http://wercker.com/
Triển khai bạch tuộc [.net] - https://octopusdeploy.com/
Capistrano [của Ruby] - http://capistranorb.com/
Bamboo + Phing [PHP] - https://www.atlassian.com/software/bamboo
có một cái nhìn tại git-ftp:
tôi sử dụng git-ftp cho các dự án kịch bản dựa của tôi, chủ yếu là PHP. Hầu hết các công ty lưu trữ web giá rẻ không cung cấp hỗ trợ SSH hoặc git, nhưng chỉ chỉ FTP.
Đó là lý do tại sao tôi cần một cách dễ dàng để triển khai các dự án được theo dõi git của tôi. Thay vì chuyển toàn bộ dự án, tôi nghĩ, tại sao không chỉ chuyển các tệp đã thay đổi kể từ lần trước, git có thể cho tôi biết những tệp đó.
Thậm chí nếu bạn đang chơi với các chi nhánh khác nhau, git-ftp biết các tệp nào khác nhau. Không có máy khách FTP thông thường nào có thể làm điều đó.
Cảm ơn bạn. Trên thực tế tôi đã thực sự hy vọng cho một cái gì đó tự động mặc dù. Toàn bộ vấn đề là khi tôi phát hiện ra bất kỳ lỗi nào trong khu vực dàn dựng (chủ yếu là tôi đang thực hiện việc này để xác thực w3c), tôi có thể thực hiện các thay đổi cục bộ và đẩy tới máy chủ. Tôi nghĩ rằng với git-ftp tôi phải gõ một số lệnh vào dấu nhắc, cùng với cam kết và đẩy, và kết hợp với thực tế là tôi đã không đặc biệt hạnh phúc trong cmd nó không phải là công việc 'lý tưởng' của tôi; nhưng tôi sẽ sử dụng nó nếu tôi phải làm vậy. Bạn có nghĩ đây là lựa chọn tốt nhất mà tôi có khả năng nhận được không? Tôi cho rằng tôi tự hỏi tại sao một chương trình như smartgit cant chỉ triển khai vào ftp? – byronyasgur
Bạn có thể viết git post-commit và post-merge hooks để chạy git-ftp trên commit và merge. Bạn có thể nhắm mục tiêu các chi nhánh cụ thể chỉ khi đó là hành vi mong muốn của bạn. –
@JonathanPatt Nếu tôi đã viết những cái đó thì tôi có phải làm bất cứ điều gì đặc biệt để làm cho chúng hoạt động khi tôi đã cam kết hoặc hợp nhất thông qua GUI Smartgit không? – byronyasgur
Đã kết thúc bằng cách sử dụng this script làm chính xác những gì tôi muốn. Trên thực tế nó được viết bởi cùng một người đã xây dựng ftploy nhưng vì tôi có quyền truy cập vào tập lệnh, tôi đã có thể xác định nhánh nào đã được triển khai. Bằng cách này tôi phát hiện ra rằng ftploy roadmap bao gồm việc có thể Chọn Chi nhánh cho các dự án Bitbucket.
Hãy coi chừng! Điều này có vẻ như nó sẽ phá vỡ rất nhiều khi bạn đẩy nhiều hơn một cam kết cùng một lúc. Tôi thực sự khuyên bạn nên làm theo lời khuyên của Jonathan và viết một móc hậu cam kết cho git-ftp. – Chronial
@Chronial Cảm ơn bạn đã cảnh báo ... điều gì khiến bạn nghĩ vậy? – byronyasgur
Kịch bản chỉ xem xét các thay đổi từ cam kết cuối cùng - bao giờ (xem: 'cam kết [0]'). Một khi bạn đã đẩy nhiều cam kết ftp của bạn sẽ nhận được ra khỏi đồng bộ và không bao giờ trở lại trạng thái chính xác một lần nữa. – Chronial
Vì bạn có quyền truy cập SSH, có vẻ như với tôi bạn có thể thiết lập lệnh rsync trong tập lệnh móc hậu git sau khi nhận. Xem https://github.com/EugeneKay/scripts/blob/master/bash/git-deploy-hook.sh tôi đã sử dụng điều này với gitolite nhưng tôi chắc chắn chúng ta có thể làm điều gì đó tương tự với một cái móc github cũng (ai?)
Tôi là người sáng lập của FTPloy và tôi chỉ muốn cho bạn biết rằng chúng tôi đã phát hành chức năng chọn chi nhánh.
- 1. Kiểm soát phiên bản cho các dự án Adobe Flash
- 2. Thực tiễn tốt nhất cho việc triển khai (php/mysql) để chia sẻ lưu trữ?
- 3. thực hiện kiểm soát phiên bản cho phát triển web
- 4. Sử dụng Git với kế hoạch chia sẻ lưu trữ
- 5. Chia sẻ mã giữa hai dự án git khác nhau
- 6. Tệp Eclipse nào thuộc quyền kiểm soát phiên bản?
- 7. Tôi nên kiểm soát phiên bản C# dự án nào?
- 8. Cách chia sẻ tệp trên các kho lưu trữ git?
- 9. Làm cách nào để tránh lưu trữ mật khẩu trong kiểm soát phiên bản?
- 10. Gia tăng Phiên bản Dự án Maven với Jenkins/Git
- 11. Những tệp nào trong dự án Java Netbeans nên được đặt dưới sự kiểm soát phiên bản?
- 12. Triển khai một ứng dụng Flask để chia sẻ lưu trữ tại godaddy
- 13. Kiểm soát phiên bản nhanh?
- 14. Làm thế nào để thực hiện tốt nhất Kiểm soát Phiên bản cho Phát triển Web?
- 15. Jenkins: Nhiều kho lưu trữ Git cho một dự án
- 16. Eclipse "Chia sẻ dự án" bằng tay?
- 17. Chơi! framework, một cá thể Jetty duy nhất, triển khai nhiều dự án, chia sẻ libs
- 18. Bzr: Tạo kho lưu trữ được chia sẻ từ kho lưu trữ độc lập hiện có
- 19. Làm cách nào để chuyển đổi các dự án được kiểm soát nguồn không đơn giản thành một kho lưu trữ git được phiên bản?
- 20. Dự án Triển khai Web & TeamCity
- 21. Django: vps hoặc chia sẻ lưu trữ?
- 22. thực hành tốt nhất trong việc lưu trữ các tệp không phải nguồn dưới sự kiểm soát phiên bản
- 23. Kiểm soát phiên bản "trong đám mây"
- 24. Cài đặt phiên bản mới của dự án triển khai trên phiên bản cũ
- 25. resx chia sẻ giữa các dự án
- 26. kiểm soát phiên bản cho dự án một người bằng nhật thực?
- 27. Quyền triển khai và thư mục web
- 28. Nút chia sẻ Facebook: cách triển khai
- 29. Kiểm soát phiên bản và quy trình triển khai của bạn với Rails là gì?
- 30. Nhiều dự án svn vào một kho lưu trữ git?
được git cài đặt trên máy chủ? – Chronial
không ... xin lỗi quên đề cập đến ... sẽ cập nhật câu hỏi – byronyasgur