Bir web sitesi oluştururken (açıklık amacıyla bir HTML/JS sadece web sitesi), daha sonra bir build/
klasörüne yerleştirilen bazı dosyaları derlemek ve sıkıştırmak için gulp kullanırım.Üretim sunucusunda gulp nasıl dağıtılır
klasör yapısı şöyle görünür:
├── assets
│ ├── images
│ ├── javascripts
│ │ └── app.js
│ └── stylesheets
│ └── style.scss
├── bower.json
├── build
│ ├── bower_components
│ ├── images
│ ├── index.html
│ ├── scripts.min.js
│ └── styles.min.css
├── gulpfile.js
├── index.html
├── node_modules
│ ├── gulp-module-1
│ └── gulp-module-2
├── package.json
└── README
Bir git repo Bu dosyaların tümünü, benim tüm değişiklikleri iki kez işlencek eklerseniz. Yani: assets/stylesheets/style.scss
'daki bir değişiklik de build/styles.min.css
'da bir değişikliğe yol açacaktır. Ancak, depodan build/
klasörünü hariç tutmaya karar verirsek, üretim sunucusunda belirli geliştirme araçlarına (yani, gulp, npm, vb.) Gereksiniminiz olacaktır. Bu, üretim sunucusunda sınırlı ayrıcalıklar olduğunda bazen zor olabilir. Derlenmiş dosyalarınızın kaynağını kaybedeceğinizden, assets/
klasörünü dışarıda bırakmak bir seçenek değildir. Bu nedenle sorum şu: Bir üretim sunucusunda bunu dağıtmak için en iyi uygulama hangisi olarak değerlendiriliyor? Repo'ya build/
klasörünü dahil edermisiniz, build/
klasörünü üretim sunucusunda mı derliyorsunuz yoksa üçüncü bir çözüm var mı?
Cevabınız için teşekkür ederiz. Bu konuda da olsa ve basit bir çözüm gibi görünüyor. Ancak, diğer git tabanlı çözümler olup olmadığını merak ediyordum. Sonra, yeni sürümü otomatik olarak çekmek için Bitbucket'in web kancaları gibi işlevleri kullanabileceğim. Bunu kullanmadan bunu yapmanın başka yolları olduğunu biliyorum, ama sadece merak ediyorum. – Diederik
@Diederik Ben, Git'i kullanarak dağıtmak istediğiniz her durumda, özgün sorunlarınızdan birinin tanımına göre çalışacağını düşünüyorum. –
Bunu bir buçuk yıl sonra tekrar ziyaret ederek, bunu doğru cevap olarak işaretleyeceğim. Bunun en kolay çözüm olduğu kanıtlandı. Projelerimde genellikle "dağıt" komutuna sahibim, ki bu da "rsync" yi dist/'üretim sunucusuna gönderir. – Diederik