簡體   English   中英

如何使用 alpine 鏡像在 Docker 容器中運行單元測試並保存結果?

[英]How can I run units tests in Docker container using alpine image and save the results?

我目前位於 vue.js 項目的文件夾中。 源文件位於 ./src/ 文件夾中,測試文件位於 ./tests/ 中

通常在本地運行單元測試我運行以下命令:

npm install
npm ci
npm run test:ci

它產生,其中包括 ./report/coverage.lcov 文件

但是,我想使用 node:12-alpine docker image 在其中運行單元測試。 不要提供使用 Dockerfile。 我想使用docker run --rm node:12-alpine ....運行它,並在 docker run 命令完成時將 ./report 文件夾的內容復制到我的本地文件夾中。 但是,我無法弄清楚我該怎么做? 我應該使用哪些 docker run 參數?

為什么機器人在運行時將您的報告目標掛載為一個卷?

我可以通過創建 script.sh 文件在本地運行它

cd /tmp/run
npm install
npm ci
npm run test:ci

在項目目錄中並運行:

docker run --rm -v ${PWD}/:/tmp/run -u 0 node:12-alpine sh /tmp/run/script.sh

這很棒,因為我不需要在本地安裝另一個節點版本,並且在運行后刪除容器...但是,我無法通過以下方式替換最后一行: cd /tmp/run && npm install ... 因為它引發了錯誤. 並不是真的想引入額外的腳本。 使用 --entrypoint 會輸出另一個錯誤。

是的,我可以做到,而且很簡單

docker run --rm -v ${PWD}/:/tmp/run -u 0 --workdir=/tmp/run node:14-alpine npm install && npm ci && npm run test:ci

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM