所以我有一個 github 作業流,作業如下:
docker:
name: Docker image
needs: test-n-build
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Set docker image tag
if: startsWith(github.ref, 'refs/tags/')
run: echo "DOCKER_TAG=:$(cargo read-manifest | sed 's/.*"version":"\{0,1\}\([^,"]*\)"\{0,1\}.*/\1/')" >> $GITHUB_ENV
- name: Login to DockerHub
uses: docker/login-action@v1
- name: Build and push
uses: docker/build-push-action@v2
with:
push: ${{ startsWith(github.ref, 'refs/tags/') }}
顯然,如果標簽推送到分支,這個作業流程會構建 docker 映像并將其推送到注冊表。正如所見,有一個Set docker image tag使用 cargo 命令的步驟,但是當我復制粘貼的東西時,我忘記了添加 setup rust 動作。但是該步驟成功執行,并且沒有出現類似的錯誤command cargo not found。
是因為該作業需要test-n-build我實際設定 rust 的作業,還是 qemu 安裝 rust?它如何找到cargo命令?
uj5u.com熱心網友回復:
正如您在Ubuntu-20.04 虛擬環境中看到的,它提供了一些安裝的 Rust 工具:
### Rust Tools
Cargo 1.58.0
Rust 1.58.1
Rustdoc 1.58.1
Rustup 1.24.3
因此,在這種情況下,您不需要任何額外的設定來安裝它們。
您可以在此處查看用作運行器的可用虛擬環境及其配置。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/444529.html
上一篇:將確切的環境變數從主機轉發到容器
