如何将 GitHub Actions 与多个存储库结合使用并部署到 GitHub Pages?

2024-04-02

有没有办法设置 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(使用前将#替换为@)

如何将 GitHub Actions 与多个存储库结合使用并部署到 GitHub Pages? 的相关文章

  • GitHub Atom - 删除编辑器中的中心线

    我刚刚下载了 GitHub Atom Editor 正在对其进行自定义 但我无法删除编辑器中间的那行 有人帮我看看如何删除那条线吗 该行由wrap guide 包提供 您可以使用以下选项来删除该行 Option 1 禁用换行指南包裹 去At
  • Github 贡献日历日开始时间

    几天前 Github 推出了他们的新功能 贡献 https github com blog 1360 introducing contributions 我有一个疑问 这个日历的一天开始时间是几点 是使用我的本地时间还是 UTC 如果它使用
  • 用于复制和重命名文件的 GitHub Action

    有没有一个聪明的方法copy and rename通过 GitHub Actions 文件 我想将一些自述文件复制到 docs文件夹 相同的存储库 而不是远程存储库 它们将根据其 frontmatter 在其中重命名title 目标是拥有某
  • 拉取部署、github 操作和 ssh 密钥

    比方说 我想使用 GitHub 操作和拉取策略来设置部署流程 所以我有一个 Ubuntu 服务器 我复制服务器的公共 ssh 密钥 将其添加到我的 GitHub 帐户 然后我可以从 Ubuntu 服务器克隆 构建并运行应用程序 那太好了 但
  • Git 推送失败,“非快进更新被拒绝”

    我已经通过 Git Online 编辑了我的 GIT 存储库 当我尝试推送本地代码更改后 出现错误 Git push failed To prevent from losing history non fast forward update
  • 通过 Github 桌面应用程序 (Windows) 推送到 Github 的提交未显示

    大约几个小时前 我通过 Github 网站创建了两个存储库 然后我转到 Github 桌面应用程序 并对这两个存储库分别进行了多次提交 我遵循的过程是 在 Github 网站上创建存储库 转到 Github 桌面应用程序 然后针对所选存储库
  • Node.js 中的 git 命令

    我想知道是否有人知道 进入 npm 包来使用 git 命令 我有一个nodejs项目 我想执行以下命令 克隆 git 创建分支 git pull request 来自创建的分支 我尝试了一些 npm 包但没有成功 任何帮助将不胜感激 谢谢
  • 在比较分支时,有没有办法在 GitHub 中“隐藏”合并提交? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我的 10
  • github 存储库的本地缓存?

    我们使用 github 来管理我们的大量软件环境 我敢打赌 像许多其他组织一样 该存储库的绝大多数流量来自我们的办公室 考虑到这一点 有没有一种方法可以构建给定 github 存储库的本地缓存 但仍然具有云版本的保护 我在缓存代理服务器的模
  • git clone 永远挂在 github 上

    当我按照 github 中的第 5 点 测试所有内容 时guide http help github com linux set up git ssh 命令也永远挂起 根据该指南 我应该看到一条消息 Github 不提供 shell 访问
  • 基于github仓库的本地仓库创建本地git仓库并保持更新

    我有一些基本的 git 知识 但我不知道如何实现这一点 我正在尝试克隆 github WordPress 入门主题下划线 https github com automattic s 这个想法是创建一个基本框架based 经过一些修改 在该存
  • GitHub Actions 工作流程不响应其他工作流程中的推送事件

    我创建了一个工作流程 在推送分支 A 时自动将分支 A 合并到分支 B 中 并创建了一个在推送分支 B 时运行的工作流程 但是 当推送分支 B 时 工作流不会运行 这是 GitHub 规范吗 如果是这样 我想知道是否有文档或问题明确说明了这
  • 在github上打开时如何更改Visual Studio的版本

    我有VS2015和VS2017 当我在 GitHub 上选择 在 Visual Studio 中打开 时 我想将其更改为使用 VS2017 而不是 VS2015 我怎样才能做到这一点 通过另一个问题找到了答案 使用 github 时 找不到
  • GitHub 按内容查找文件

    我可以按文件内容过滤 GitHub 存储库中的文件吗 例如 有一个公共存储库 https github com xamarin mobile samples https github com xamarin mobile samples 我
  • 我如何获得 github actions runner 令牌

    我想在工作流程中创建一个虚拟机并设置为自托管运行程序 目前 阻碍我的是缺乏为我提供 Runner Token 的 API 如果存在 我可以创建该实例并将其注册为运行程序 以便能够在下一个作业中使用它 现在有人有办法获得跑步者令牌吗 延迟更新
  • 是否可以在我的 shell 文件中使用 GitHub 机密?

    这是我在 GitHub 存储库上的简单操作 name CI on push branches main jobs build runs on ubuntu latest steps name Get my account my infra
  • Gerrit - 复制到 github

    我通过配置 gerrit 复制 remote github url email protected cdn cgi l email protection MYUSERNAME name git push refs heads refs he
  • 如何在 GitHub 页面上添加与 index.md 共享相同主题的新页面?

    目前 我的 GitHub 帐户上有一个主页 https
  • GitHub:本地使用 wiki:首次推送到 GitHub wiki 时出错

    这个问题我搜索了很多次 还是无法解决 假设我从 user1 分叉了一个存储库 我们将其命名为 repo1 现在我也想分叉该存储库的 Wiki 部分 当您分叉存储库时 GitHub 不会为您做任何事情 https stackoverflow
  • 将图像添加到可通过私人存储库中的 github 查看的 jupyter 笔记本

    我发现通过一个简单的例子嵌入 jupyter 标记中的图像 img myimage png 当存储库是私有的时 不会显示在 github 笔记本查看器中 我尝试了很多黑客行为 显然 4 x x 中有将图像嵌入为 Base64 元数据的功能

随机推荐

  • 如何将 JFreechart 添加到面板?

    我尝试寻找答案来使其正常工作 但没有成功 我快要失去理智了 所以这是我的问题 我最近下载了 JFreeChart 来创建图表并在我的 GUI 中实现它们 这是我想要插入图形的 GUI 和面板 以白色标记 报告1 http www freei
  • Fiddler 测试 API Post 传递 [Frombody] 类

    我有一个非常简单的 C APIController 名为 TestController 其 API 方法如下 HttpPost public string HelloWorld FromBody Testing t return t Nam
  • 组合框架更新 UI 无法正常工作

    我想尝试Combine框架 使用非常简单 按aUIButton 并更新UILabel 我的想法是 添加发布者 Published var cacheText String 订阅 cacheText assign to text on cac
  • 无法在类似字节的对象上使用字符串模式 - python 的重新错误[重复]

    这个问题在这里已经有答案了 我正在做 python 挑战并试图熟悉 python 所以在不看答案的情况下 我尝试使用 python 的 url 阅读器来读取 html 然后找到所需的字母 但是在下面的代码中我收到一个错误 最初是 pytho
  • 为 Windows 服务创建 MSI 安装程序

    我在 Visual Studio 2008 中有一个 Windows 服务项目 我还添加了安装和部署项目 不幸的是 当我安装它时 该服务没有显示在服务 MMC 管理单元中 我已经将 ProjectInstaller 添加到服务项目中 并且已
  • 使用APNS发送远程推送通知的送达报告 - IOS

    我正在使用 APNS 发送远程推送通知 要求是当通知发送给应用程序用户时 即使用户没有点击通知甚至没有看到通知 根据通知 id i 将发送收据发送到 Web 服务器 即调用 Web 服务 已收到 APNS 没有提供交付报告 他们是 APNS
  • 当数据依赖于日期时间时,在数据库中保存日期时间和时区信息的最佳实践

    关于在数据库中保存日期时间和时区信息有很多问题 但更多的是总体水平 这里我想讲一个具体的案例 系统规格 我们有一个订单系统数据库 它是一个多租户系统 租户可以使用任意时区 它是任意的 但每个租户只有一个时区 保存在租户表中一次并且永不更改
  • 为什么 int[] a = new int[1] 而不是 int a ?

    这段代码中是否有一些我在 java 中看不到的隐藏含义 怎么可能有用呢 int a new int 1 不仅仅是 int a 因为从我的角度来看这是一样的 int a 定义一个原始 int int a new int 1 定义一个有空间容纳
  • 如何在 C# 中为自定义 DataTemplateSelector 获取 DataTemplate 的 {x:DataType}

    我正在写一个自定义DataTemplateSelector for a ComboBox控件 我需要用它来显示不同的DateTemplates对于不同类型的物体 在封闭和开放模式下ComboBox 这是DataTemplateSelecto
  • SQL触发器更新另一个表

    我有一个 Maximo 数据库 其表结构无法更改 我希望在创建或更新时将主要电子邮件地址复制到 PERSON 表中 以下结构描述了 PERSON 表和 EMAIL 表 人员表 PERSONID EMAIL other irrelevant
  • 刷新页面后将焦点设置在网页上而不是 Firefox 调试器上

    我正在使用默认的 Firefox Web 开发人员工具 火狐浏览器 20 0 Mac OS X 10 7 如果我打开开发人员工具的调试器面板 但未聚焦 并刷新页面 焦点将转到调试器面板而不是刷新的页面 我可以将焦点设置为转到刷新的页面吗 如
  • ReentrantReadWriteLock 中的读锁和写锁是否有某种关联?

    请详细解释一下合同 我不知道里面是否包含两把锁ReentrantReadWriteLock有某种关系吗 或者这些只是两把普通锁的捆绑 它允许多个线程同时读取资源 但要求线程等待独占锁才能写入资源 规则是 多个读者可以同时共享资源 如果你有一
  • 检测富文本框中是否发生粘贴事件

    有没有一种方法可以让我们知道富文本框中是否发生了剪贴板粘贴事件 该事件将用于通过粘贴的文本块执行某些操作 thanks 这是我的代码 protected override void WndProc ref System Windows Fo
  • 在 Mongoose 中复制数据库

    如何在 Mongoose 中将一个数据库复制到另一个数据库 像这样的命令行 db copyDatabase sourceDb destinationDb Thanks 猫鼬中没有直接的可能性 最简单的方法似乎是使用mongodb 原生客户端
  • JMenuBar禁用后不启用

    我正在禁用JMenuBar在显示之前FileDialog 因为当FileDialog可见 使用getJMenuBar setEnabled false 然后打电话getJMenuBar setEnabled true 之后FileDialo
  • 如何使文本格式的公式在另一个单元格中执行?

    如果我的单元格 A1 包含 6 2 8 5 7 4我希望此计算在单元格 A2 中执行 因此每次我更改单元格 A1 中的某些内容时 单元格 A2 的值都会相应更改 The 应用 评价方法 https msdn microsoft com en
  • 如何编写存储过程来接受集合以使用 IN 操作删除行? [复制]

    这个问题在这里已经有答案了 我正在尝试为删除编写一个存储过程 但为了性能 我们更改了删除 sql 查询以使用IN手术 我想编写接受逗号分隔的 ID 的过程 我尝试编写一个接受单个条目 ID 的程序 程序如下 CREATE PROCEDURE
  • JMS 监听器 - 动态选择目的地

    我在部署在单独服务器上的 ActiveMQ 上有许多目的地 队列 我想从我的程序中动态收听这些目的地 目前我正在收听这些目的地 如下所示
  • 无法从 Play 商店取消发布应用程序

    当我单击 未发布 时 出现错误 您至少有一个活动的 apk 并且也无法更新应用程序 因为密钥库丢失 有什么解决办法吗 今天遇到这个问题 找到答案了here https stackoverflow com questions 67573622
  • 如何将 GitHub Actions 与多个存储库结合使用并部署到 GitHub Pages?

    有没有办法设置 Github Actions 来运行多个npm run build是 我想使用多个存储库并将它们设置为主站点上的不同网页 想象一下我有 3 个存储库 Main Angular App 和 React App 主存储库将有我的