我有一个流星项目,我想将一些bash脚本添加到bundle.tgz的顶层目录中
我目前通过以下方式创建我的套装:
meteor build bundle.tgz
有没有办法配置构建,以便在结果tgz文件的顶部包含那些bash脚本?
答案 0 :(得分:2)
在项目的根目录create_bundle.sh
中创建一个文件,并将其他脚本添加到项目的根目录中。我已经使用了一个文件的例子, some_file.sh ,根据需要再添加
<强> create_bundle.sh 强>
#!/bin/sh
rm -f bundle.tar.gz
rm -rf /tmp/bundle
meteor build /tmp/bundle
tar -xzf /tmp/bundle/*.tar.gz -C /tmp/bundle
## Add any more as needed
cp some_file.sh /tmp/bundle/bundle
rm /tmp/bundle/*.tar.gz
tar -cvzf bundle.tar.gz -C /tmp/bundle .
现在,如果您运行./create_bundle.sh
而不是meteor build bundle.tar.gz
,它将会:
cp
行将其移至根文件夹,以使用/tmp/bundle/
代替/tmp/bundle/bundle
一种选择是git克隆流星源
git clone http://github.com/meteor/meteor
编辑文件meteor / tools / bundler.js(此时:https://github.com/meteor/meteor/blob/f59380a6cfb1d09a6d8ef9abda11646d37e37356/tools/bundler.js#L1910)
并添加批处理文件
builder.write('yourfile.sh', { data: new Buffer(
"#!/bin/sh
"echo 'hello world'\n", 'utf8')});
});
然后,您可以使用这个特殊的流星版本构建您的项目:
从项目目录(* nix):
/path/to/cloned_meteor_repo/meteor build yourfile.tar.gz