Bitbucket 管道不使用缓存进行捆绑安装

问题描述 投票:0回答:2

我尝试了命名缓存的各种变体,但似乎没有任何效果

我的缓存正在正确下载,正如我在构建设置中看到的那样。

Cache "bundler": Downloading
Cache "bundler": Downloaded 25.2 MiB in 1 seconds
Cache "bundler": Extracting
Cache "bundler": Extracted in 0 seconds

但是当我去

bundle install
时我总是得到

Fetching gem metadata from https://rubygems.org/.......
Installing rake 12.3.3
Installing concurrent-ruby 1.1.5
Installing i18n 0.9.5
Installing minitest 5.11.3
Installing thread_safe 0.3.6
Installing tzinfo 1.2.5
Installing activesupport 5.2.3
Installing builder 3.2.3
..........

这是我的

bitbucket-pipelines.yml

pipelines:
  default:
    - step:
        name: Run Tests
        image: ruby:2.6.4
        caches:
          - bundler
        script:
          - apt-get update && apt-get install -y build-essential libpq-dev nodejs python-dev
          - bundle install --path ./vendor
          - cp config/database.yml.example config/database.yml
          - RAILS_ENV=test bundle exec rake db:setup
          - RAILS_ENV=test bundle exec rake db:schema:load
          - RAILS_ENV=test bundle exec rspec
        services:
          - postgres
          - redis

definitions:
  caches:
    bundler: ./vendor
  services:
    redis:
      image: redis
    postgres:
      image: postgres
      environment:
        POSTGRES_DB: 'xxxxx'
        POSTGRES_USER: 'xxxxx'
        POSTGRES_PASSWORD: 'xxxxx'

ruby caching bitbucket
2个回答
1
投票

我希望您能解决您的问题,BitBucket Caches 文档已经过时了。所以用这个命令解决了我的问题:

- gem install bundler -v 2.1.4
- bundle config set path 'vendor/bundle'
- bundle install
- bundle binstubs --all

我的,需要删除

tzinfo-data
以进行 Linux 部署。

您可以阅读

bundle binstubs
文档了解更多信息。


0
投票

将其放在这里是为了将来帮助某人:

我在我的 bitbucket 管道上运行

bundle check
来检查依赖关系。

我得到了这个输出:

https://github.com/oauth-xx/oauth2 (at 1-4-stable@d41fb6e) is not yet checked
out. Run `bundle install` first.

我假设即使缓存可用,应用程序仍然需要捆绑安装,因为缺少 oauth2。

如果我找到解决方案或解决方法,我会再次发布。

© www.soinside.com 2019 - 2024. All rights reserved.