Yerel olarak gulp işlemi ile kurulum ve konfigürasyon yapıyorum ve şimdi de Teamcity ile çalışmayı deniyorum.Takım halinde çalkantılı ve tartışmalı
Zaten düğüm yüklü ve yutkunmak fiş içinde var. Ben% birikmesi sayı% değişken kullanın ve ayarlamak için kullanabilirsiniz böylece edilir Yutkunuyorum-yumru kullanıyorum yudum paketlerinin
Bir package.json dosyasının sürümü. Ben bu ben
gulp.task('setVersion', function() {
var msg = 'Setting version';
var version = args.version;
var options = {};
if (version) {
options.version = version;
msg += ' to ' + version;
}
log(msg);
return gulp
.src(config.packages)
.pipe($.print())
.pipe(version ? $.bump(options) : $.util.noop())
.pipe(gulp.dest(config.dest.root));
});
bu işe almak için kullanıyorum yudum iştir
komut satırından argümanlar okuyabilmesi için ben
gulp build --version=2.3.4
çağrı komut satırından, yargs kullanıyorum
yapı, çalıştırmak istediğim yontma görevidir ve --version, komut satırından okumak istediğim değerdir.
Görev setVersion, yapım görevinin bir bağımlılığıdır. Paket.json dosyasını kullanan tüm .css ve js dosyalarının op'una dahil edilmek üzere kullanılan diğer yontma görevler vardır, ancak bunlar 'run-sequence' paketi 'run-sequence'
Bunu komut satırından çalıştırdığımda, her şey beklendiği gibi çalışır.
Ekibimin yapısında, tanımlanmış iki adım var.
Adım 1, Node.js olduğunu NPM runner, tüm ilgili paketleri doğru bir şekilde aşağı çekerek görebilirsiniz.
Adım 2, Gulp koşucusunu kullanıyor. Bu görevde, gulp görevini "derleme" olarak ayarladım ve ek komut satırı parametreleri olarak --version =% build.number%
Ancak sürüm numarasının doğru olarak ayarlandığı görünmüyor yapı içinde bu
söylediğini log rağmen
Ben yapı sonra css ve js dosyaları gözden olduğu gibi düzgün versiyonunu ayar değil, bunlar kullanmıyorsunuz "2.3.4 sürümünü ayarlama" doğru versiyonu.
Ancak bir sonraki görev,% build.number% ve nuget'in dosya adı olarak ayarlanan bir nuget dosyası oluşturmak için% build.number% doğru bir şekilde kullandığınızı biliyorum. üretilen dosya sürüm numarasını doğru şekilde içerir.
Sadece package.json içerisindeki versiyonun doğru bir şekilde kurulum sürecinin bir parçası olarak ayarlanamıyorum.
Ben doğru inşa sayısında Başka ne geçmek yapabilirim ve doğru olarak package.json sürümünü belirlemek için
comments aldıktan sonra, ben hata ile olduğunu keşfettilerGüncelleme
paketini okuduğum yol: gulpfile.Sonra sayfanın üst tarafındaki başlığa eklemek için paket yudum-header kullanıyordum
var pkg = require('./package.json');
var banner = ['/**',
' * <%= pkg.name %>',
' * @version v<%= pkg.version %>',
' */',
''].join('\n');
: js aşağıdaki vardı. Bu sorunun cevabı baktığımızda
$.header(banner, { pkg: pkg })
: Javascript: get package.json data in gulpfile.js o dosya önbelleğe alınır package.json yük gerektirir ve kullandığınızda herhangi süreç package.json dosyasını değiştirmesi durumunda, yutkunmak güncelleme olmayacak bahsedildi Önbelleğe almış olduğu sürüm. Benim süreçlerde Yani
var fs = require('fs');
function getPackageJson() {
return JSON.parse(fs.readFileSync('./package.json'));
}
başlığı iliştirerek nerede, ben getPackageJson aramaya değişti:
Yani talep üzerine package.json dosyasını okumak için rutin güncellenmiştir. Şimdi süreci ekip halinde çalıştırdığımda, doğru sürümdoğru ayarlanıyor.
var pkg = getPackageJson();
return gulp
.src(config.src.sass)
.pipe($.sass())
.pipe($.header(banner, { pkg: pkg }))
'config.dest.root daha sonraki işlemler tarafından kullanılan konum değildir, bu nedenle package.config toplanan paket farklıdır; package.config öğesinin değiştirilmesi – harishr
@entre my config.dest.root 'olarak tanımlanır./'ve package.json kullanan sonraki süreçler, gereksinim olarak tanımlanan bir pkg değişkenine atıfta bulunur (' ./ package.json '); Bu yüzden hepsinin aynı dosyaya başvurduğundan oldukça eminim. –
@entre Yorumunuz beni düşünmüş ve şu soruyu buldum: http://stackoverflow.com/questions/22645779/javascript-get-package-json-data-in-gulpfile-js Paket dosyasını okuyorum İşlemin bir ihtiyaç olarak başlaması ve dosya içeriğinin önbelleğe alınması. Daha sonra, package.json içindeki değişkeni çarptığımda, önbellekteki dosya güncellenmiyor. Bu dosyanın içeriğini nasıl okuduğumu değiştirmem gerekiyor gibi görünüyor –