我有一個使用 Github Action/Workflows 的 CI 管道設定,我想在其中運行 Cypress 自動化測驗,但是我在如何運行我的開發服務器方面遇到了一些邏輯問題。讓我向你展示我的管道
name: Nuxt CI Pipeline
on:
push:
branches: [ CI-pipeline ]
# pull_request:
# branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [ 14.x ]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- name: Make envfile
uses: SpicyPizza/create-envfile@v1
with:
envkey_ENV: staging
file_name: .env
- run: npm ci
- run: npm run dev
- run: |
cd e2e
ls -l
npm ci
npx cypress run
現在我想啟動 devserver 并在該埠上運行測驗通常是 3000 ,但是問題是當命令npm run dev執行時,管道一直在那里等待并且不會向前移動,這是有道理的,因為 devserver 不回傳回應就像其他命令一樣,所以它有點卡在那里。我對 devops 的了解是最低限度的,有人能指出我缺少什么嗎?
uj5u.com熱心網友回復:
我認為執行方式并不理想,特別是因為節點服務器最終也沒有被正確殺死。使用像start-server-and-test這樣的輔助包應該可以為您解決問題:
npm install --save-dev start-server-and-test
雖然我不確定你的腳本背后到底是什么package.json,但它最終可能看起來像這樣:
"scripts": {
"start:ci": "<<start your dev server>>",
"cy:run": "cypress run --browser chrome --headless",
"cy:ci": "start-server-and-test start:ci http://localhost:3000 cy:run"
},
然后,您可以簡單地將其作為管道中的單個命令運行npm run cy:ci。該腳本將負責啟動您的開發服務器,等待 URL 可用,然后執行測驗,在所有測驗完成后,它將關閉服務器。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/402904.html
標籤:
上一篇:Vue3多個Highcharts
