Perl için Buildout benzer bir şey arıyorum this question gönderdim. Bence Shipwright aradığım şey ama gerçekten emin değilim. Onunla oynadım ve bir proje yarattım, tüm kaynağımı ve bağımlılıklarımı içe aktardım ve her şeyi bir tekneye verdim, o zaman belgeleme türünü durdurdum. Bir tersane ile ne yapacağım? Gerçek gelişim çalışmamı gemide mi yapıyorum yoksa gelişmemi Tersanede mi yapıyorum? Geminin sadece dağıtım için olduğunu varsayıyorum, ama bir web sunucusuna bir gemiyi nasıl dağıtıyorum (linux, apache kullanıyorum ve sadece cgi'yi çalıştırıyorum).Perl uygulamasını dağıtmanın iyi bir yolu nedir?
Shipwright, yapmaya çalıştığım şey için doğru olanı mı yoksa daha uygun olan başka bir şey var mı? İdeal olarak Shipwright'ı Buildout'u kullanma şeklimdekine benzer bir şekilde kullanabilirim. Buildout'u geliştirmem için güzel bir yalıtılmış ortam oluşturmak için kullanıyorum ve ayrıca uygulamaların tüm bağımlılıklarını yönetmek için sunuculara dağıtım yaparken Buildout'u kullanıyorum.
DÜZENLEME: Bu, Perl'de yapmak isteyebileceğim Buildout ile neler yapabileceğimin önemli noktaları.
Buildout ile kod veritabanımda bağımlılıkları listeleyen bir dosyam var (Perl için CPAN modülleri veya başka bir kaynak deposu olabilir). Tüm bu bağımlılıkları getirecek ve onları projemde bir dizine bırakacak ve sistem düzeyini sistem düzeyinde yükleyemeyecek bir bootstrap komut dosyası çalıştırabilirim. Buildout ayrıca istediğiniz herhangi bir şeyi yapabileceğiniz (komutları çalıştır, diğer komut satırı araçları, gerçekten herhangi bir şey) yardımcı betikler oluşturur ve bu betikler yoldaki bağımlılıkları açıkça ekler, böylece komut dosyalarım çalışırken tüm bağımlılıklarım içe aktarılabilir.
Bu gerçekten çok iyi olan şey, sistem seviyesinde herhangi bir şey yüklemeye gerek kalmadan bağımlılıklarımı yönetmeme izin vermesidir. Hangisi bir versiyondan diğerine geçmeyi çok kolaylaştırıyor. Ayrıca, aynı modülün farklı sürümlerini kullanarak aynı sistem üzerinde çalışan birden fazla Buildout projesine sahip olmamı sağlıyor. Son olarak, büyük bir avantajı, Buildout'un dizin yapısı ile bağımlılıkları sadece kaynak kontrolüne yükleyebilmem ve sadece bir ödeme yapmam gereken yeni bir makineye yerleştirebilmem ve tüm bağımlılıklarımda kurulu olan herhangi bir şeye dokunmak zorunda kalmadan zaten memnunum. bir sistem seviyesi.
Bakmanız gereken seçenekler, yapmaya çalıştığınız şeylere bağlı. PAR'a da bakmak isteyebilirsiniz. – tsee
Hiç Buildout olmadığımdan beri meraklı; Bu gibi sistemler hangi problemleri çözer? Kodu dağıtma? Kodu çalıştırıyor musun? –
Gemwright hakkında bilgi arayarak bunu bulan herkes için, geminizi "nasıl taşıyacağınız" konusunda gerçekten düzgün bir öğretici var. http://serialized.net/2010/08/deploying-self-contained-perl-dancer-applications/ Şu anda bir web uygulaması için bir dağıtım süreci oluşturmaya çalışıyorum. – Relequestual