如何在 Github Actions 中运行多个 Node 应用程序?
Posted
技术标签:
【中文标题】如何在 Github Actions 中运行多个 Node 应用程序?【英文标题】:How can I run multiple Node App in a Github Actions? 【发布时间】:2021-07-17 20:36:12 【问题描述】:这是我的行为
# This is a basic workflow to help you get started with Actions
name: CI/CD Akper Bina Insan - Live
on:
push:
branches: [ master ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [14.x]
steps:
- uses: actions/checkout@v2
- name: Use Node.js $ matrix.node-version
uses: actions/setup-node@v2
with:
node-version: $ matrix.node-version
- name: Install Yarn
run: npm install -g yarn
- name: Build UI - Akper Bina Insan
working-directory: ./ui
run: yarn && yarn build && yarn start
- name: Build Backend Service - Akper Bina Insan
working-directory: ./be
run: yarn && yarn build && yarn prod
第一次运行完成后,它不会继续第二次运行。即使服务器已准备就绪。我等了 5 分钟,然后因为不想浪费时间而停下来。
如何让它运行第二个?
【问题讨论】:
【参考方案1】:GitHub 操作是用于 CI/CD 的工具,不是用于托管(运行)您的应用程序的工具。
在给定的工作流程中,您 build
和 run
您的 UI 应用程序。运行命令是一个阻塞进程 - 例如由于您已启动 UI 应用程序,您的工作流程将保持阻塞状态。您不应该在工作流程中这样做。
使用 GitHub Action 进行构建和测试,但不用于托管。
【讨论】:
嗨,丹尼斯,感谢您的回复。自托管跑步者怎么样?我看到几个 youtuber 这样做是为了将更改推送到 vps以上是关于如何在 Github Actions 中运行多个 Node 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Github-actions 在 Docker 上使用 Mysql 运行 Prisma 迁移
如何在 GitHub Actions 中使用 env 文件?