私はビルドプロセスの一環としてgruntを使用することにいくつかの問題があります。私たちは、TeamCityサーバーを使用して、展開前にgruntコマンドを実行しています。本質的には、未圧縮のjsとcssをチェックインし、次に展開前にGruntを縮小するようにしたいと考えています。すべてのビルドで依存関係をインストールせずにビルドサーバでGrunt.jsを実行できますか?
私が気づいた問題は、TeamCityのビルドファイルシステムの内容を削除してGITから戻してしまうことです(これは、古いファイルが欲しくないときに古いファイルが止まるためです) 。グランツはinsist that all dependencies are installed locally to the GruntFile.js thoughと思われます。
これは、すべてのビルドで私はnpm install
を実行する必要があることを意味します。これは時代がかかり、デプロイメントプロセスを実際に遅くしています(チーム都市でもプロキシサーバがこれを気に入らないとは限りません...)
私はどういうわけか依存関係をインストールしますグローバルにをダウンロードし、一度だけダウンロードします(変更することはめったにありません)。しかし、私はこれを行う方法を把握していないようですか?
私はnode_modules
フォルダ内のチェックのアイデアをおもちゃにその後私は、これは8800個のファイル含ま実現:私はこれでgitリポジトリを汚染したくないのでOを。
は、ここで我々が持っている依存関係かを示すためにpackage.jsonです:
{
"name": "name",
"title": "title",
"description": "description",
"version": "0.0.1",
"engines": {
"node": ">=0.8"
},
"scripts": {
"test": "grunt assemble"
},
"dependencies": {
"assemble": "^0.4.42",
"css-parse": "^1.5.3",
"globule": "^0.2.0",
"grunt": "~0.4.2",
"grunt-combine-media-queries": "^1.0.19",
"grunt-contrib-clean": "^0.6.0",
"grunt-contrib-concat": "^0.3.0",
"grunt-contrib-connect": "^0.6.0",
"grunt-contrib-copy": "~0.5.0",
"grunt-contrib-cssmin": "^0.10.0",
"grunt-contrib-jshint": "^0.8.0",
"grunt-contrib-less": "^0.9.0",
"grunt-contrib-uglify": "^0.3.3",
"grunt-contrib-watch": "^0.5.3",
"grunt-cssshrink": "0.0.5",
"grunt-lesslint": "^1.1.7",
"grunt-modernizr": "^0.5.2",
"grunt-prettify": "^0.3.5",
"grunt-replace": "^0.6.2",
"grunt-stripmq": "0.0.3",
"handlebars-helper-repeat": "^0.2.0",
"load-grunt-tasks": "^0.2.1",
"pretty": "^0.1.2",
"time-grunt": "^0.2.10"
},
"keywords": [
"assemble",
"templates",
"handlebars",
"site generator",
"site builder",
"grunt"
]
}
私は実際にこれを設定していないと私は「ので、うなり声、ノードの私の知識のほとんどは日の研究のカップルから茎なぜこれがそのまま設定されているのか100%は確信していません。何か驚くほど間違っている場合は、より良い提案にオープンですか?
はい、それぞれのビルドごとに再インストールすることをお勧めします。さて、もしそれが本当に遅く、それがネットワーク上の問題であるとすれば、自分のnpmキャッシュサーバーをあなたのLANに設定するのはどうですか? http://willcodefor.beer/setup-your-own-npm-cache-server/ –
TBH、私はあまりにも大きなWindowsのファイルシステムは、いくつかを表示させることはできません従属のその56メガバイトをあきらめているそのうちの!私はpowershellからYuiCompressを実行し、それを使ってやります。 – Liam