如何在多个存储库中使用GitHub操作并部署到GitHub页面? [英] How to use GitHub Actions with multiple repositories and deploy to GitHub Pages?

查看:20
本文介绍了如何在多个存储库中使用GitHub操作并部署到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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆