【问题标题】:How to cache the entire directory (platformio dependencies) in bitbucket pipelines?如何在 bitbucket 管道中缓存整个目录(platformio 依赖项)?
【发布时间】:2017-11-13 13:57:01
【问题描述】:

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

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

lib_deps =
    ESPAsyncTCP@1.1.0
    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

这里是我的文件夹结构。

【问题讨论】:

    标签: esp8266 bitbucket-pipelines platformio


    【解决方案1】:

    如果您仍在寻找答案 - 我认为您几乎是正确的,但可能需要指定自定义 --build-dir(以便您可以为缓存指定相同的路径)以及 @987654323 @(见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
    
    

    【讨论】:

    • 这个示例管道做得很好
    猜你喜欢
    • 2018-03-12
    • 2016-12-02
    • 2018-04-02
    • 2020-02-27
    • 2021-02-26
    • 1970-01-01
    • 2021-05-25
    • 2021-05-28
    • 2021-03-23
    相关资源
    最近更新 更多