如何在bitbucket管道中缓存整个目录(platformio依赖项)?

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

我正在使用plaitformio和bitbucket管道运行CI管道为ESP8266构建固件,我的代码构建成功,现在我想缓存包含platformio库(.piolibdeps)的目录。这是我的platform.ini文件的包含。

[env:nodemcuv2]
platform = espressif8266
board = nodemcuv2
framework = arduino
upload_port = 192.168.1.108

lib_deps =
    [email protected]
    OneWire
    Time
    FauxmoESP
    Blynk
    DallasTemperature
    ArduinoJson
    Adafruit NeoPixel

如何在BitBucket管道中缓存此目录?请看下面的bitbucket-pipelines.yml文件的内容,用它来缓存已定义的目录,这里有什么问题?

image: eclipse/platformio

pipelines:
  branches:
    develop:
    - step: 
        name: Build Project
        caches: # caches the depende
          - directories
        script: # Modify the commands below to build your repository.
          - pio ci --project-conf=./Code/UrbanAquarium.Firmware/platformio.ini ./Code/UrbanAquarium.Firmware/src
          - pwd
definitions:
  caches:
    directories: ./Code/UrbanAquarium.Firmware/.piolibdeps

在这里我的文件夹结构。

enter image description here

esp8266 bitbucket-pipelines platformio
1个回答
0
投票

如果您仍在寻找答案 - 我认为您的答案几乎正确,但可能需要指定一个自定义的--build-dir(以便您可以为缓存指定相同的路径)以及--keep-build-dir(请参阅https://docs.platformio.org/en/latest/userguide/cmd_ci.html)。另外,我不确定你为什么指定了./Code/UrbanAquarium.Firmware/前缀。

也就是说,我已经尝试了上述内容并且它变得很快 - 现在我只会缓存~/.platformio,以及默认的pip缓存:

image: python:2.7.16

pipelines:
  default:
    - step:
        caches:
          - pip
          - pio
        script:
          - pip install -U platformio
          - platformio update
          - platformio ci src/ --project-conf=platformio.ini

definitions:
  caches:
    pio: ~/.platformio

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