我正在使用以下内容.gitlab-ci.yml
用于为使用创建的 Haskell Stack 项目设置 gitlab-CI 的文件stack new actividad3 --resolver=lts-14.6
.
image: haskell:8.6.5
cache:
paths:
- .stack
- .stack-work
- target
test:
stage: test
script:
- ghc --version
- stack --system-ghc build
- stack test
构建和测试该项目持续了近 5 分钟。大部分时间都花在构建 hspec 库上。有什么方法可以在管道运行之间缓存使用的库吗?
提前致谢。
将这些部件添加到您的.gitlab-ci.yml
:
variables:
STACK_ROOT: "${CI_PROJECT_DIR}/.stack-root"
cache:
paths:
- .stack-work/
- .stack-root/
The $STACK_ROOT
env 变量更改其全局文件使用的文件夹堆栈。这是必需的,因为GitLab CI只能缓存项目文件夹下的文件,所以缓存$HOME/.stack
, ~/.stack
or /root/.stack
行不通的。
网上的一些相关参考:
-
http://blog.braulio.me/2018/10/24/use-haskell-stack-gitlab-ci.html;
- https://vadosware.io/post/zero-to-continuous-integrated-testing-a-haskell-project-with-gitlab/
- https://dev.to/drbearhands/haskell-for-madmen-setup-4cj9
- https://github.com/bitemyapp/haskell-continuous-integration/blob/master/.gitlab-ci.yml
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)