问题标签 [github-actions-services]

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 投票
4 回答
2917 浏览

mysql - GitHub Actions:如何在 Windows 或 macOS 上运行“服务”?

如果可能的话,我想在所有平台上测试应该使用 GitHub Actions 连接到 PostgreSQL 和 MySQL 服务器的 CLI:Linux、Windows 和 macOS。

我找到了有关如何运行 Postgresservice以及如何运行 MySQL 的说明service,并将它们组合成一个工作流程

但这似乎只适用于 Linux,而不适用于 Windows 或 macOS,请参阅 GitHub 上的操作结果:

Windows 在Initialize Containerswith期间失败##[error]Container operation is only supported on Linux,macOS 甚至在Set up jobwith期间失败##[error]File not found: 'docker'

GitHub Actionsservices文档没有提到这只适用于 Linux,但我对容器或 Docker 也不太了解,因此可能会遗漏一些明显的东西。

(顺便说一句,MySQL 和 PostgreSQL 在同一个操作系统上运行并不重要——它们只需要主作业可以访问。)

是否可以使用 Windows 和 macOS 为 GitHub Actions 运行 MySQL 和 PostgreSQL?
如果没有,这里最好的解决方法是什么?

0 投票
1 回答
2061 浏览

ios - iOS Github Actions(构建、测试和部署)

我正在尝试使用 github actons 制作一个简单的工作流程,因此当我将例如推送到我的 master 分支时,它会在其中构建代码macOS-latest并在OS 12.4, iPhone 11 Pro Max. 由于很新,教程不完整,有人可以帮我吗?

这就是我现在所拥有的:

另外,由于我没有将应用程序部署到应用商店,我该如何进行部署阶段?也许将它合并到主分支?我需要有 3 个阶段,构建、测试和部署

这是我得到的错误:

在此处输入图像描述

0 投票
1 回答
96 浏览

docker - 我可以在 GitHub Actions 工作流程中引用 Dockerfile 而不是图像吗?

查看example-services 存储库,他们通过引用托管的图像来设置服务,如下所示:

我们为 Elasticsearch 使用自定义 Dockerfile,该文件存储在与工作流相同的存储库中,并且未在 Docker Hub 上公开提供。我想将该 Dockerfile 引用为服务,而无需从我们的私有注册表中推送和拉取。这可能吗?

0 投票
0 回答
548 浏览

ruby-on-rails - 如何使用 PostgreSQL 为 Rails 设置 Github Actions

我在 GitHub 上有一个带有 PostgreSQL 的空 Rails 6 项目,我正在尝试配置 GitHub Actions 以在创建拉取请求时运行 Rails 测试套件。

我尝试遵循本指南,但不知何故它对我不起作用。

管道失败rails db:setup并抱怨:

在我看来,由于某种原因,Rails 应用程序无法正确定位 PostgreSQL 服务。

这是我当前的GitHub 操作配置

这是我的Rails 数据库配置

如果需要,完整的 GitHub 存储库位于:https ://github.com/dusan-rychnovsky/link-shortener

0 投票
1 回答
8045 浏览

docker - GitHub Actions:如何在容器内运行测试

我想在容器内运行 django 测试用例。我能够从 docker hub 中提取私有图像。但是当我运行命令进行测试时,它无法运行。

任何人都尝试在容器内运行测试用例。

0 投票
1 回答
132 浏览

github - 是否有任何选项可以通过电子邮件运行 github 操作

我需要向 github 发送一封电子邮件,然后它需要使用输入运行 github 操作
这可能吗?
或者我需要通过电子邮件推送到 master

0 投票
1 回答
420 浏览

github-actions - 在 github 操作中启动服务之前克​​隆数据

我尝试构建一个 github 操作工作流,它依赖于数据库(可作为 docker 容器使用),而数据库又依赖于需要从 git 存储库克隆的数据。启动 docker 容器时数据需要可用。

目前我原始有以下设置(完整文件可在 GitHub 上找到

如果在启动服务之前无法克隆存储库,是否可以克隆存储库,然后将容器作为步骤之一启动并保持在后台?

0 投票
0 回答
125 浏览

docker - Github Actions 工作流程:无法通过 image://container-name:port/rest/of/path 连接到自定义构建的 Docker 容器的端口

我的目标:我将为触发 GA 工作流的回购提交 PR。这包括为该存储库构建 Docker 映像以及其他映像。

他们所有的图像都是通过查看他们的 repos b/c 构建的,我的团队希望避免拉取他们的图像。因此,我不能使用服务容器工作流设置,因为它需要从 Docker Hub 或 AWS ECR 中提取图像。

在运行我的 GA 工作流程时,在 docker 组合我的容器后,我无法从我的 Docker 容器的 url ( image://container-name:port/rest/of/path) 获取提要。相反,我看到了这个错误ECONNREFUSED 127.0.0.1:80

其他尝试:

  1. 使用 http://localhost:port/rest/of/path。得到同样的错误ECONNREFUSED 127.0.0.1:80
  2. 使用 Docker 容器的 IP http:docker.ip:port/rest/of/path。得到不同的错误Error: connect EHOSTUNREACH 172.18.0.6:8088 at TCPConnectWrap.afterConnect
  3. 为我的测试创建一个 Docker 镜像,添加到 docker-compose 文件中,然后重复上述步骤。同样的错误。

如果这提供了更多上下文,我在下面添加了我的 docker-compose.yml模板。除了 db 图像之外,它们每个都有一个 repo。它们相互依赖如下

容器:C -> B + A -> db

*针对C运行的测试

我开始我的 GA 工作流程,如下所示:

  1. 为C启动 PR并触发 GA 工作流
  2. 签出上述每个 repos(db 除外,这是公开的)
  3. 构建他们的每个图像,然后docker-compose up
  4. 查看我的测试存储库并针对C的 localhost url 的提要(C://C:3333/rest/of/path)运行它们。
0 投票
0 回答
82 浏览

github-actions - Github 操作交付机器人

我们已经为 ci/cd 管道设置了 Github 操作,几天前它按预期工作。我们使用 GitHub pr 评论(/deploy staging)将代码部署到 AWS S3 存储桶,一切都按预期工作,但是现在当我们评论 pr(拉取请求)时,部署不会触发,而是在 10 小时后的午夜触发. 这是我的文件。

  1. 工作流/deploy.yml

    名称:“部署”在:[“部署”]

作业:部署:名称:'部署到 ${{ github.event.deployment.environment }}' 运行:ubuntu-latest 步骤:

  1. 工作流/mail.yml

    名称:Virtual Combine App UI

on:推送:分支:-'release/ '-'hotfix/ '

作业:lint_test:名称:受影响的 Lint 和测试运行:ubuntu-latest 步骤:-名称:复制 Repo 文件使用:actions/checkout@v1

build_staging:名称:构建分期需要:- lint_test

build_production:名称:构建生产需要:- lint_test

  1. 部署.yml

    暂存:环境:暂存生产环境:真

生产:环境:生产生产环境:真

0 投票
0 回答
37 浏览

github-actions - 无法在 github 工作流中访问服务容器

我正在尝试向cURL我们的后端服务()发送请求task-managertask-manager是一个 springboot 应用程序公开 REST API。cURL如果我在自己的机器上启动容器,我可以使用该服务。但是当我尝试在 github 工作流上做同样的事情时,它失败了。这是我workflow.yaml文件的内容-

这就是我得到的。我检查了该docker ps -a步骤实际上表明容器已启动并正在运行并暴露了端口6078。还要检查错误Error: Process completed with exit code 56.。我不知道错误代码 56 是什么意思。

在此处输入图像描述

有什么建议么?