1

我正在使用 Wasm 和 Rust,并且正在使用 gitlab 页面部署页面。

我正在使用一个看起来像这样的 gitlab-ci.yml 文件:

image: "rust:latest"

variables:
  PUBLIC_URL: "/repo-name"

pages:
  stage: deploy
  script:
    - rustup target add wasm32-unknown-unknown
    - cargo install wasm-pack
    - wasm-pack build --target web
    - mkdir public
    - mv ./pkg ./public/pkg
    - cp ./index.html ./public/index.html
  artifacts:
    paths:
      - public

但即使对于“Hello World”应用程序,这也需要大约 12 分钟。

其中约 11 分钟是由cargo install wasm-pack步骤完成的。

有什么办法可以缓存中间步骤,以避免每次都这样做?

4

1 回答 1

0

本页:GitLab CI/CD 中的缓存讨论缓存和/或使用工件在作业之间持久化文件。你也许可以利用它。

然后它变成了如何cargo install使用该缓存或保存的工件的问题。

或者,您可以定义自己的基本构建映像(运行其中的cargo install步骤),并将其存储在 Gitlab 的 docker 注册表中;请参阅https://docs.gitlab.com/ee/user/packages/container_registry/

于 2022-02-04T08:46:39.740 回答