问题标签 [github-actions-self-hosted-runners]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
202 浏览

azure - GitHub 自托管运行器可以访问单独虚拟网络后面的 Azure 资源

我创建了一些 GitHub 自托管运行器,并希望它们能够访问我在单独虚拟网络后面的资源。我知道将机器的 IP 地址列入白名单将使其访问,但我最终将拥有任意数量的可以成为自托管运行器的虚拟机,因此为我的每个资源添加/删除这些 IP 地址白名单似乎就像在创建自托管运行器时,需要进行大量手动工作或自动将我的每个资源的 IP 地址列入白名单。

我试图将我的自托管运行器将连接到的虚拟网络与我的其余资源的虚拟网络进行对等,认为它会授予自托管运行器对这些资源的访问权限,但是当我收到 403 防火墙错误时我尝试对资源进行任何更改或阅读...我在这里遗漏了什么吗?通读 Microsoft 文档后,对等虚拟网络似乎可行。

我在两个 Vnet 上都有双向对等互连,并在对等互连设置中转发进出 Vnet 的流量。我在两个 VNet 子网上的 NSG 只是允许入站和出站 VNet 流量的基本 NSG

https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-peering-overview

有推荐的方法吗?

0 投票
0 回答
277 浏览

github - 每个分支 prod 和 dev 的自托管运行器

我有 2 个分支 prod 和 dev,我需要为每个分支创建一个自托管运行器,以便我可以使用 GitHub 操作将分支自动部署到相应的服务器。

我已经为两个不同的分支上的操作制作了 YAML 文件,现在我不知道为它们分开跑步者。我做了研究,但我找不到任何文档。

0 投票
0 回答
146 浏览

linux - 错误:RROR] 找不到进程或命名空间。带有 github 操作的 PM2 错误 Linux 服务器

我最近在计算引擎上更新了我的自托管 linux 服务器。Pm2之前一直在我的github 操作中完美运行。但是,当我从我的 ssh 终端重新启动一个 pm2 实例时,更新后它工作正常。但是当我尝试从 github 操作作业重新启动 pm2 实例时,它会抛出这个错误。我已经卸载并重新安装了 pm2 但仍然是同样的错误。以前它工作得很好,但现在它向我显示了这个错误。

因此,如果我运行 github 操作,则会显示此错误 在此处输入图像描述

但是当我从连接到我的服务器的 ssh termianl 运行相同的命令时,它工作正常 在此处输入图像描述

任何帮助,将不胜感激

0 投票
0 回答
284 浏览

kubernetes - docker:dind 没有连接到 containerd.sock

我已经在我的 eks 集群中设置了这个https://github.com/actions-runner-controller/actions-runner-controller 。这会为每个跑步者创建一个 docker contanier 和一个跑步者容器。为了共享 docker 图像而不是每次我创建一个卷来共享/var/lib/docker并将其注入所有 docker 容器中。问题是有时(有 1 个或 2 个 pod 不会失败)docker 容器初始化失败并出现以下错误:

我在 repo 中创建了一个问题,但我认为该错误与控制器无关。是我身边的东西。

https://github.com/actions-runner-controller/actions-runner-controller/issues/847

这是yamls:

0 投票
0 回答
20 浏览

github-actions - 错误:过程已完成,错误代码 1 – 自托管运行器上的 GitHub 操作

自托管运行器上的 Hello World 错误消息:

自托管运行器上的 Hello World 错误消息

我所有的操作都在做他们的工作,但最终出现错误:过程完成,错误代码为 1。

我决定运行简单的“hello world”动作,即使这样也收到了错误。在日志中,每个失败都有不同的消息,但肯定不会由某些固有的 CLI 或程序包问题引起“hello world”操作。

在自托管运行器上,我可以在本地完成所有操作,但不能在服务器上完成。GitHub Actions 服务帐户是否需要完整的管理员权限?有没有人遇到过这个问题?

谢谢!

0 投票
0 回答
39 浏览

github-actions-self-hosted-runners - 为什么只有一个 GitHub 自托管 runner 接受新工作?

我有三台 Ubuntu 电脑,它们有自己的 GitHub 自托管运行器。其中两个跑步者(在 PC 1 和 PC 2 上)标记为test,第三个(PC 3)标记为production。此外,所有跑步者都被标记为自托管

在 GitHub 上,我有三个分支,devtestproduction。目标是当我将拉取请求合并到测试或生产分支时,所有具有目标标签的运行器都将拉取新版本,然后构建和组合 Docker 映像/容器。

此过程适用于 PC 1 和 PC 3,分别在测试和生产分支上合并。但是,当 PC 1 在合并测试拉取请求后立即运行“测试作业”时,PC 2 上的运行器保持空闲状态。

我仔细检查了 PC 1 和 PC2 上的跑步者是否具有相同的标签。我做错了什么,或者没有正确理解?我必须为每台 PC 创建工作流文件吗?

这是工作流文件test.yml

0 投票
0 回答
36 浏览

node.js - github操作推送后有什么方法可以保持文件夹不变

我有一个 nodejs 项目,它将图像本地存储在与代码src/uploads相同的位置。当我尝试使用 githubaction 触发 cicd 管道时出现问题。因为它只是简单地将代码从 github 转储到我的 repo(数字海洋水滴)。由于数字海洋水滴存储库包含用户上传的图像,因此当管道被触发时,照片将被删除,因为 github 存储库没有这些图像。我该如何解决这个问题

用于工作流的 yaml 文件

0 投票
1 回答
71 浏览

github-actions-self-hosted-runners - 每个分支的 Github 自托管运行器

我正在尝试实现 Github 自托管运行器,但我遇到了困难

我想为我的产品和开发服务器使用不同的运行器

据我了解,可以根据环境设置标签,但我的开发和生产服务器基本相同(都是 windows server 20012 R2,硬件相似)

我有两个分别指向 dev 和 master 的 yml 文件,但是我可以将跑步者指向正确的动作吗?

我试图为跑步者添加一个标签,如下所示:

在此处输入图像描述

但是当我发布到master时,触发了top runner

prod 的 yml 文件如下所示:

0 投票
0 回答
30 浏览

linux - 如何通过 GitHub 工作流交换 Linux 中的用户?

我有 Github 工作流来运行 python 文件。在运行 python 文件之前,我想交换用户,这样就不需要 sudo 来执行 python 文件。

我尝试使用'su'但它说su 必须从命令行运行。如何通过 Github Workflow 做到这一点。谢谢

.yaml

0 投票
2 回答
385 浏览

github-actions - Github 操作自托管运行器 - 运行的作业已超过 360 分钟的最大执行时间 已解决

我正在通过 github 操作运行 DAST 扫描仪,但由于超时而失败,因为该作业耗时超过 6 小时。通读文档,我看到限制不应该应用于自托管运行器,并且在自托管运行器限制中没有作业执行超时条目。有没有办法禁用作业执行的 360 分钟超时?