有没有办法设置 Github Actions 来运行多个npm run build
是?我想使用多个存储库并将它们设置为主站点上的不同网页。
想象一下我有 3 个存储库:Main、Angular App 和 React App。
主存储库将有我的登陆站点。 Angular App 和 React App 将是两个不同的站点。
From foobar.github.io
(主要回购),我会去foobar.github.io/angular
导航到我的 Angular 应用程序。foobar.github.io/react
将是一个反应应用程序。
每个应用程序将位于 3 个不同的存储库中。有没有办法让我推送到我的 Angular 应用程序,GitHub Actions 会自动执行ng build --prod --base-href='angular'
,并更新该页面or甚至为所有存储库运行构建并部署它?
要在本地执行此操作,我必须在每个存储库上执行构建命令,然后将每个prod
文件夹到我的存储库中,然后将其向上推送,在我看来,这可能会变得非常低效。
最简单的方法是向每个存储库添加一个工作流程,以更新页面中的相应区域。 IE。在“Main”存储库中,它看起来像:
on: push
jobs:
main:
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Build
run: TODO
- name: Publish
run: TODO
在其他存储库中,您也会有类似的东西。例如在 Angular 存储库中:
on: push
jobs:
angular:
steps:
- name: Checkout App
uses: actions/checkout@v2
- name: Build Angular
run: |
npm ci
npm run build
ng build --prod --base-href='angular'
- name: Publish
run: TODO
如果您只想在更新 Main 时发布,您可以在 Main 存储库中有一个工作流程来构建和发布所有三个,例如:
on: push
jobs:
main:
steps:
- name: Checkout repo
uses: actions/checkout@v2
with:
repository: my-org/main
path: main
- name: Build
run: TODO
working-directory: ./main
- name: Publish
run: TODO
working-directory: ./main
react:
steps:
- name: Checkout repo
uses: actions/checkout@v2
with:
repository: my-org/react
path: react
- name: Build React
run: TODO
working-directory: ./react
- name: Publish
run: TODO
working-directory: ./react
angular:
steps:
- name: Checkout App
uses: actions/checkout@v2
with:
repository: my-org/angular
path: angular
- name: Build Angular
run: |
npm ci
npm run build
ng build --prod --base-href='angular',
working-directory: ./angular
- name: Publish
run: TODO
working-directory: ./angular
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)