问题标签 [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.
docker - Google Cloud Run 上的 GitHub Actions Runner 容器,可以构建 docker 镜像
我已经构建了一个 docker 镜像,当它运行时,它会将自己注册为 GitHub Runner。除其他外,此运行器将用于构建图像并将其推送到 GitHub Container Registry。我不想将容器部署到 GKE 或 Compute,因为我不想要管理这些资源的开销。我更愿意将容器部署到 Google Cloud Run。我已经搜索了文档以寻求帮助,但我似乎无法找到以下问题的答案:
将容器部署到 GCP Cloud Run 时,我可以运行“docker in docker”吗?
如何在将容器部署到 Google Cloud Run 时指定所需的卷安装,即通常的映射
docker run
为:-v /var/run/docker.sock:/var/run/docker.sock
linux - 如何使用 GitHub Actions 运行持久化进程?
我想启动我的 Web 服务器npm start
,即使在 GitHub Actions 工作流程完成后,它也会继续运行。我尝试使用 action 来做到这一点- run: npm start &
。但是,这不起作用。我怀疑此命令将 Web 服务器作为工作流运行器的子进程生成,一旦工作流运行器完成所有步骤,它就会终止并终止它启动的所有子进程。有没有办法启动一个 web 服务器,例如,即使在工作流完成后也能继续运行?我知道我可以使用服务,但这会增加很多麻烦,我希望将事情简单地集中在一个地方。
这是我目前的工作流程:
linux - 如果您不想在 root 上运行,为什么 Linux 自托管运行器上的 Github Action 需要用户交换每个命令
我编写了一个工作流来在 Linux 自托管 GitHub 运行器 VM 上安装一些工具依赖项。我正在使用自制软件来安装工具。使用 homebrew 要求它不能在 GitHub Runner 登录的 root 用户上运行。我想知道为什么当我创建一个将用户从 root 切换到我的测试用户的步骤时,事情会中断,但是当我在每个步骤中对那个用户执行 sudo 时一切正常,我想我解释得不好,所以见下文:
失败的工作流程(可以看到第一步将用户切换到 testUser):
这将在最后一步失败,声称不应在 root 上运行自制软件,而以下工作流程可以正常工作。
我的 Linux 有点生锈,但我的印象是使用sudo -u (username) -i
会将终端登录到指定的用户,直到再次注销/切换用户,我错了还是有更好的方法来完成这个?
docker - Google Cloud Run 上的自托管 GitHub Runner,没有入口端口
我想在 Google Cloud Run 上运行充当 GitHub 自托管运行器的 docker 容器,但是在将容器部署到 CloudRun 时遇到问题,因为它抱怨端口。错误是这样的:
在我的 Dockerfile 中,我没有设置任何端口变量或公开任何端口,因为 GitHub 运行器不需要入口,只需出口到 443。
有没有办法将服务部署到 Cloud Run,但不公开入口端口?
如果只是为了让它运行而暴露默认的 8080 端口(尽管实际上没有服务在该端口上侦听),那么我假设我可以EXPOSE 8080
在 dockerfile 中添加一个?
从 CloudRun 日志中,我可以看到 github runner 服务成功启动并注册到 GitHub,但由于此错误而退出。
我错过了什么?
github - 如何创建启动另一个 GitHub 操作工作流的 GitHub 操作工作流?
我有一个 Angular 应用程序,源代码存储在 GitHub 上。我想创建这个管道来部署代码:
- 将任何内容推送到
deploy-test
分支时,它会启动工作流程。 - GitHub 将创建一个跑步者
- Runner拉取代码
- Runner开始构建过程
- Runner 创建一个新的 git 分支,名为
deploy-test-build
- Runner 将构建的文件推送到 GitHub 存储库。
- 自托管运行器监视
deploy-test-build
分支上的推送,它开始另一个工作流。
这是我的第一个动作文件:
这在最后一步有这个输出:
下一个:
但是这最后一个工作流程称为Deploy to test server
未启动。
知道如何解决吗?
ruby-on-rails - 无法在使用 docker-compose run 的 github 操作捆绑安装的自托管运行器上运行
我正在使用 github 操作的自托管运行器来构建 CI 环境。
我们使用docker进行开发,使用docker-compose来管理开发环境的配置。
CI 还使用了一组在 Github Action 上使用 docker-compose 的命令,并且运行起来没有任何问题。
然而,有一天我突然失去了使用 docker-compose run 命令运行任何进程的能力。
我们已经确认它适用于本地和非自托管操作。
我们还确认,在目标 EC2 实例上使用 ssm 运行的 docker-compose 可以正常工作。
我不确定为什么会发生这个问题,但是如果您对此有所了解,或者这有什么问题,我想听听。
这是CI配置的一部分
感谢您的时间。
docker - 我在哪里可以找到 github 操作与预安装软件一起使用的 docker 映像
我在 Github Actions 中使用自托管运行器而不是 Github 运行器,因为自托管运行器可以访问专用网络。我还将在自托管运行器之上使用容器。
从链接 https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners
一个可以设置runs-on
为ubuntu-latest
. 我认为这与https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2004-README.mddocker pull ubuntu
上的预装软件相同
但是 docker hub 上的 ubuntu 镜像与ubuntu-latest
Github 托管 runner 使用的镜像不同。我在哪里可以找到 Github runner 使用的 docker 镜像?
配置自托管运行器并安装 docker 引擎后,我尝试了以下工作流程。但是它失败了,没有图像ubuntu-latest
github-for-windows - Windows 上的 github 运行程序在 PowerShell 上找不到可执行文件
我正在尝试使用自托管的 Windows-VM 来运行 west 进行 repo 管理,使用 python 来运行一些脚本,并使用 git 来推回 repo。
工作是使用 python 从repo-A
作为工件生成文件以签入repo-B
。我不得不使用 Windows,因为文件生成工具只能在 Windows 上运行。
我有一个自托管的构建代理设置,并且能够在其上运行 github 操作。
在 VM 端,这些是相关命令的路径(表明它们已正确添加到 $PATH)
VM 的执行策略设置为:
从 VM 本身的 powerShell 执行时,所有脚本和执行步骤都运行良好。但是当我调用 github runner 时,行为表明它不知道可执行文件在哪里,尽管它是已知的$PATH
(参见下面的调试输出)。
github运行脚本:
在 github runner 上运行时, echo ${env:PATH} 命令显示:
这意味着它应该有 python.exe 的位置
但是,所有尝试访问它的命令(即使使用绝对路径)都会返回如下错误:
我还尝试将 python 附加到 $GITHUB_PATH :
但这只是扩展了 echo ${env:PATH} 的输出,并且在执行时仍然导致相同的错误。
我错过了什么?
感谢大家的时间。
github - 如何限制 CPU/内存 - GitHub 操作自托管运行器
我在一台机器上运行多个自托管运行器。
我想为每个跑步者提供特定的 CPU 内核/内存数量。
我怎样才能做到这一点?
ps)我不能使用虚拟机。ps)当我用谷歌搜索时,通过 docker 启动有一些限制。docker里面的docker命令?
mysql - 作业未连接到 ECS 上自托管 GitHub 操作的 MySQL 服务
我有一个在 ECS 中运行的自托管 GitHub Actions,它一直在创造奇迹,直到我不得不处理服务发现。
以下是工作流文件
以下是我得到的错误
任何意见将不胜感激。有美好的一天~