composer缓存不适用于bitbucket管道构建

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了composer缓存不适用于bitbucket管道构建相关的知识,希望对你有一定的参考价值。

我在我的Bitbucket管道中找到了这个:

pipelines:
  branches:
    develop:
    - step:
        caches:
          - composer
        name: unit tests - Delivery 
        image: totersapp/laravel-docker:phpredis
        script:
        - echo "memory_limit=512M" > /usr/local/etc/php/conf.d/memory-limit-php.ini
        - ln -f -s .env.pipelines .env
        - composer install 
        services:
        - postgres
        - redis

每次运行时,它都会下载相同的文件(即使在第二次运行时也是如此。。为什么有什么主意?

这是作曲家安装的日志:

+ composer install
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Package operations: 199 installs, 0 updates, 0 removals
  - Installing kylekatarnls/update-helper (1.2.0): Downloading (connecting...)Downloading (0%)           Downloading (100%)
  - Installing ocramius/package-versions (1.4.2): Downloading (connecting...)Downloading (0%)           Downloading (30%)Downloading (35%)Downloading (65%)Downloading (95%)Downloading (100%)
  - Installing symfony/polyfill-ctype (v1.13.1): Downloading (connecting...)Downloading (0%)           Downloading (100%)

更新:无法覆盖默认值

基于this answer,我尝试了此操作:

- step:
    caches:
      - composer
    image: totersapp/laravel-docker:phpredis
    script:
    - composer install 
..
definitions:
caches:
  composer: /composer/cache

我的问题是,我试图使用custom缓存目录(在本例中为/composer/cache)调用composer,但是在提供以下命令的同时,我又没有办法调用composer install命令自定义缓存目录作为一个选项(例如,在本示例中,这是bitbucket教程使用bundle进行的操作:

 - bundle install --path vendor/bundle

换句话说,我不能运行这样的东西:

- composer install --cache-directory /composer/cache
答案
None

以上是关于composer缓存不适用于bitbucket管道构建的主要内容,如果未能解决你的问题,请参考以下文章

Windows PATH 变量不适用于 Composer

docker-compose 日志记录不适用于 syslog 选项

Azure 管道不适用于生产

Laravel,变量输出适用于 View::share 但不适用于 VIew::composer

使用 Compose 导航不适用于 Android 上的 Google 地图

詹金斯管道中的文件存在不适用于 $variant