如何在多个存储库中使用GitHub操作并部署到GitHub页面? [英] How to use GitHub Actions with multiple repositories and deploy to GitHub Pages?
本文介绍了如何在多个存储库中使用GitHub操作并部署到GitHub页面?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
npm run build
?我想使用多个Repos,并将它们设置为主站点上的不同网页。
想象一下我有3个Repos:主应用程序、角度应用程序和反应应用程序。
主回购会有我的登陆站点。角度应用程序和反应应用程序将是两个不同的网站。
从foobar.github.io
(主回购),我会转到foobar.github.io/angular
导航到我的角度应用程序。foobar.github.io/react
将是Reaction应用程序。
每个应用程序将位于3个不同的存储库中。我有没有办法推送到我的角度应用程序,GitHub的操作将自动执行ng build --prod --base-href='angular'
,并更新页面或,甚至为所有存储库运行构建并部署它?
要在本地执行此操作,我必须在每个存储库上执行一个构建命令,然后将每个prod
文件夹拖到我的repo中,然后向上推送它,在我看来,这可能会非常低效。
推荐答案
执行此操作的最简单方法是向每个存储库添加一个工作流,以更新页面中的相应区域。即,在"主"回购中,它将如下所示:
on: push
jobs:
main:
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Build
run: TODO
- name: Publish
run: TODO
在其他存储库中,您会有类似的东西。例如,在角度存储库中:
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时发布,您可以在主存储库中有一个工作流来构建和发布所有这三个工作流,例如:
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
这篇关于如何在多个存储库中使用GitHub操作并部署到GitHub页面?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文