【问题标题】:Running a Node.js API in Github Actions在 Github Actions 中运行 Node.js API
【发布时间】:2020-05-13 04:49:48
【问题描述】:

我有一个 Monorepo,其中包含一个前端应用程序和一个 node.js API。我想同时运行前端应用程序和 node.js API,以便运行一些端到端测试。但是,在运行测试之前,我无法弄清楚如何运行这两个应用程序。到目前为止,这是我的操作文件。

name: Test Client

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest

    strategy:
      matrix:
        node-version: [12.x]

    steps:
      - uses: actions/checkout@v1
      - name: Use Node.js ${{ matrix.node-version }}
        uses: actions/setup-node@v1
        with:
          node-version: ${{ matrix.node-version }}
      - name: Initial Setup
        run: |
          npm install yarn -g
      - name: yarn install, build, and test
        working-directory: client-app
        run: |
          yarn install
          yarn build
          yarn test
        env:
          CI: true

我想在运行客户端应用程序测试之前在不同的目录中运行 API。不使用第三方服务是否可行?

【问题讨论】:

  • 当您使用 Node 时,最简单的方法可能是 npmjs.com/package/concurrently(例如,我在这里设置:github.com/textbook/starter-kit/blob/…)。您也可以查看 GitHub Actions 是否支持“后台”步骤。
  • 感谢@jonrsharpe,您的帖子让我找到了一个小 bash 命令“&”,它允许在后台运行任务。例如“yarn start-api &”。这意味着 CI 管道不会挂在命令上。 :)
  • 这是一个有效的问题,即如何在 github 操作中同时启动前端应用程序和后端应用程序。不知道为什么有人反对它。

标签: github-actions


【解决方案1】:

您可以通过在命令末尾添加“&”来确保管道不会挂在命令上:请参阅:https://github.community/t5/GitHub-Actions/How-do-I-run-commands-concurrently/td-p/36057

例如现在我可以这样做:

yarn start-api &
yarn start-client &
yarn test

【讨论】:

    猜你喜欢
    • 2020-09-06
    • 1970-01-01
    • 2021-05-14
    • 2020-04-01
    • 2021-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多