我正在SnapCI上运行我的Elixir项目的CI,我缓存我的deps文件夹,这样它就不必每次尝试运行我的测试时都安装我的deps。我该怎么做?
我注意到DEPS_DIR有一个env设置,但这似乎是一个钢筋问题,还是一样的?无论如何,我已经在一个简单的项目上尝试过了,但是它似乎不起作用,而且mix仍然在我的当前文件夹中安装我的deps。
更新2015年3月4日
这是我关于snap-ci的完整剧本:
curl -O https://raw.githubusercontent.com/spawngrid/kerl/master/kerl && chmod a+x kerl
mkdir -p /var/go/deps
export MY_DEPS_PATH=/var/go/deps
set +e
./kerl update releases
./kerl cleanup 17.4
(./kerl list builds | grep 17.4) || (export MAKEFLAGS='-j3'; ./kerl build git https://github.com/erlang/otp/ OTP-17.4 17.4)
(./kerl list installations | grep 17.4) || (./kerl install 17.4 ~/.kerl/installs/17.4)
source ~/.kerl/installs/17.4/activate
mkdir -p vendor/elixir
wget --no-clobber -q https://github.com/elixir-lang/elixir/releases/download/v1.0.2/precompiled.zip
unzip -o -qq precompiled.zip -d vendor/elixir
export PATH=`pwd`/vendor/elixir/bin:$PATH
yes y | MIX_ENV=test mix do local.rebar
yes y | MIX_ENV=test mix deps.get
yes y | MIX_ENV=test mix deps.compile
MIX_ENV=test mix amrita --trace发布于 2015-03-03 07:52:06
在伞式项目中,使用了"deps_path“选项。您可以在这里使用任何本地目录(参见1)。
你必须自己决定,这是否是一个很好的解决你的情况。如果没有指定每个dep的精确版本,则在CI (使用缓存的deps)和独立编译中会得到不同的结果。当然你可以把两者结合起来。
1
https://stackoverflow.com/questions/28821797
复制相似问题