问题标签 [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 投票
0 回答
102 浏览

github - 基于 Docker 的运行器使用私有镜像构建

我的基于 docker 的自托管运行器已经在 GitHub 组织级别激活。npm分别通过我们的私有 docker 映像执行构建,尝试使用以下工作流yml代码。

由于我的图像没有加载 docker 引擎包,Error: docker: command not found因此预计会失败。docker-runner

使用自托管 docker runner,我如何调用私有 docker 映像并执行构建?一些实现的指针会有所帮助。谢谢!

0 投票
1 回答
621 浏览

github - GitHub 操作错误:Docker 拉取失败,退出代码为 1

我正在尝试npm使用我们的私有 docker 映像和 GitHub 操作在 docker 容器中运行我的构建。

我的工作流yaml文件如下,

GitHub 操作错误:-

启动作业容器 /usr/bin/docker pull ubuntu-20.04-lts:latest 来自守护进程的错误响应:ubuntu-20.04-lts 的拉取访问被拒绝,存储库不存在或可能需要“docker login”:拒绝:请求访问资源被拒绝 警告:Docker 拉取失败,退出代码为 1,重试前 4.74 秒后退。
/usr/bin/docker pull ubuntu-20.04-lts:latest 来自守护进程的错误响应:ubuntu-20.04-lts 的拉取访问被拒绝,存储库不存在或可能需要“docker login”:拒绝:请求的资源访问被拒绝警告:Docker pull 失败,退出代码为 1,在重试前退后 9.535 秒。/usr/bin/docker pull ubuntu-20.04-lts:latest 来自守护进程的错误响应:ubuntu-20.04-lts 的拉取访问被拒绝,存储库不存在或可能需要“docker login”:拒绝:请求的资源访问被拒绝
错误:Docker 拉取失败,退出代码为 1

我在本地主机系统上有这个ubuntu-20.04-lts:latest私有 docker 映像。在动作构建期间它仍然失败并出现上述错误。

它看起来正在尝试连接 docker hub。如何解决此问题以使用我们的本地私有图像?

0 投票
1 回答
37 浏览

github-actions - 在 GitHub Actions 工作流程中,您如何确定当前存储库所在的组织?

我正在尝试使用与此类似的结构来组织我的工作流工件(在自托管运行器上):

c:\github\artifacts{org}{repo}{runid}

我们企业中的不同组织可以有一个同名的存储库,所以我希望能够按组织名称进行组织。

到目前为止我有这个:

c:\github\artifacts{org}{${{ github.event.repository.name }}${{ github.run_id }}\

如何确定组织名称?

0 投票
0 回答
182 浏览

github-actions - 在同一工作流程中使用多个 GitHub 自托管运行器

我们在 Windows Server 上使用 GitHub Action Self Hosted Runners 来构建和部署私有存储库。就上下文而言,它们是 .NET 项目。

我们采用的一种模式是将工作流分解为多个作业(检查、恢复、构建、测试和部署)。其中一些作业可以并行运行,有些需要其他作业完成才能开始。

我试图在同一台机器上的同一个 Runner Group 中设置两个 Runner。我的期望:

  1. 能够同时运行多个工作流(每个工作流一个运行器)
  2. 能够同时在单个工作流中运行多个作业(每个工作流多个运行器)

Self Hosted Runners 有自己的文件夹:_work这是$Env:GITHUB_WORKSPACE要点。
当我尝试上面的 #2 时,我看到两个跑步者都在同一个工作流程上工作,但他们使用的是各自的_work文件夹。第一个运行者将检查一个 repo 到它的文件夹,第二个运行者会出错,因为它在其文件夹_work中找不到 repo 。_work

可能的解决方案:
A)将_work目录移动到两个运行者都可以访问的根文件夹
B)重新映射$Env:GITHUB_WORKSPACE每个工作流

我不相信这些解决方案中的任何一个都有效,我错过了什么?这里有更好的技术来使用多个自托管运行器吗?
如果我的第一期望是每个工作流程有一名跑步者,我什至会很高兴。

0 投票
0 回答
38 浏览

reactjs - 带有 ASP.NET 5 React 应用程序和 Windows server 2019 的 Github 自托管运行器 ci 管道。“dotnet build”无限加载

我有一个带有 react js 模板的 ASP.NET 5 应用程序。我将它部署在带有 Windows Server 2019 的 VPC 上。我决定将 github 自托管运行器用于 ci/cd 管道。一切正常,我按照 github 的教程创建了跑步者。它检查了存储库,执行了“dotnet restore”,但“dotnet build”命令没有结束。它无限循环。

这是我的工作流程文件。

在此处输入图像描述

这是该步骤的最后一个日志的屏幕截图。

在此处输入图像描述

这是我服务器的PowerShell。

在此处输入图像描述

0 投票
0 回答
61 浏览

linux - Github 自托管 Action Runner 没有找到工作

以下是来自 svc.sh 的日志。请帮助解决此问题。每当我想推送我的项目时,我都必须手动执行 run.sh,这真的很烦我。

0 投票
0 回答
25 浏览

google-cloud-platform - Github(本地自托管):无法创建目录 [/home/master/.config/gcloud/logs/2022.02.10]

我正在尝试构建一个 docker 映像并将其推送到 gcp 工件。但它在 github 操作中失败了。这是我的工作流程 yaml 文件:

但我有一个错误:

运行 google-github-actions/setup-gcloud@v0 错误:google-github-actions/setup-gcloud 失败:执行命令失败gcloud --quiet config set project myproject:警告:无法在 /home/master/.config/gcloud/logs 中设置日志文件, (Could not create directory [/home/master/.config/gcloud/logs/2022.02.10]: Permission denied. 请确认您有写入父目录的权限。配置目录可能不可写。要了解更多信息,请参阅https://cloud.google.com/sdk/docs/configurations#creating_a_configuration 错误:(gcloud.config.set)无法创建默认配置。确保您拥有正确的权限:[/home/master/.config/gcloud/configurations]。无法创建目录 [/home/master/.config/gcloud/configurations]:权限被拒绝。请验证您是否有权写入父目录。

现在我已经在 GitHub 操作中使用服务密钥 json 文件作为机密,因为无密钥身份验证将在不久的将来完成,在第 1 阶段的成功试点之后。所以你可以找到上面的详细信息。

在这里,我将 run-on 称为“自托管”,这是我们的本地 github 操作运行器。

0 投票
1 回答
45 浏览

continuous-integration - 自托管环境变量对 Github 操作不可用

在自托管运行器机器上运行 Github 操作时,如何在我的 Github 操作 .yaml 脚本中访问已在机器上设置的现有自定义环境变量?

我已经设置了这些变量并多次重新启动了运行器虚拟机,但是在我的脚本中使用 $VAR 语法无法访问它们。

0 投票
0 回答
26 浏览

github - 如何升级自托管动作运行器?

安装在 Linux、Windows 和 Mac 系统上的自托管 GitHub 操作运行程序。

我需要在 Linux、Windows 和 MacOS 上将运行器版本升级到最新版本。

  1. 如何查看当前安装的 Runner 版本?

在跑步者logservice status侧面,我找不到信息。

  1. 如何将跑步者升级到最新版本?

请帮我提供信息。提前致谢。

0 投票
0 回答
18 浏览

git - 在 github 操作 main.yml 中使用 git pull

我正在尝试更新运行我公司某些站点的一些非生产版本的本地服务器,以便在主存储库合并拉取请求时进行更新。git pul ...但是,当动作触及线时,动作就会停止。日志不提供任何信息,该过程似乎停止了。我可以在命令提示符下运行相同的命令。任何建议表示赞赏。

主要的.yml

动作.cmd

更新,遇到了一些奇怪的缓存问题,但能够清理一下并收到一些错误消息:

github 是远程的名称。同样,我可以正常运行这些脚本,但也许工作流程需要一些额外的身份验证?