问题标签 [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.
mysql - GitHub Actions:如何在 Windows 或 macOS 上运行“服务”?
如果可能的话,我想在所有平台上测试应该使用 GitHub Actions 连接到 PostgreSQL 和 MySQL 服务器的 CLI:Linux、Windows 和 macOS。
我找到了有关如何运行 Postgresservice
以及如何运行 MySQL 的说明service
,并将它们组合成一个工作流程:
但这似乎只适用于 Linux,而不适用于 Windows 或 macOS,请参阅 GitHub 上的操作结果:
Windows 在Initialize Containers
with期间失败##[error]Container operation is only supported on Linux
,macOS 甚至在Set up job
with期间失败##[error]File not found: 'docker'
。
GitHub Actionsservices
文档没有提到这只适用于 Linux,但我对容器或 Docker 也不太了解,因此可能会遗漏一些明显的东西。
(顺便说一句,MySQL 和 PostgreSQL 在同一个操作系统上运行并不重要——它们只需要主作业可以访问。)
是否可以使用 Windows 和 macOS 为 GitHub Actions 运行 MySQL 和 PostgreSQL?
如果没有,这里最好的解决方法是什么?
docker - 我可以在 GitHub Actions 工作流程中引用 Dockerfile 而不是图像吗?
查看example-services 存储库,他们通过引用托管的图像来设置服务,如下所示:
我们为 Elasticsearch 使用自定义 Dockerfile,该文件存储在与工作流相同的存储库中,并且未在 Docker Hub 上公开提供。我想将该 Dockerfile 引用为服务,而无需从我们的私有注册表中推送和拉取。这可能吗?
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
docker - GitHub Actions:如何在容器内运行测试
我想在容器内运行 django 测试用例。我能够从 docker hub 中提取私有图像。但是当我运行命令进行测试时,它无法运行。
任何人都尝试在容器内运行测试用例。
github - 是否有任何选项可以通过电子邮件运行 github 操作
我需要向 github 发送一封电子邮件,然后它需要使用输入运行 github 操作
这可能吗?
或者我需要通过电子邮件推送到 master
github-actions - 在 github 操作中启动服务之前克隆数据
我尝试构建一个 github 操作工作流,它依赖于数据库(可作为 docker 容器使用),而数据库又依赖于需要从 git 存储库克隆的数据。启动 docker 容器时数据需要可用。
目前我原始有以下设置(完整文件可在 GitHub 上找到)
如果在启动服务之前无法克隆存储库,是否可以克隆存储库,然后将容器作为步骤之一启动并保持在后台?
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
其他尝试:
- 使用 http://localhost:port/rest/of/path。得到同样的错误
ECONNREFUSED 127.0.0.1:80
- 使用 Docker 容器的 IP http:docker.ip:port/rest/of/path。得到不同的错误
Error: connect EHOSTUNREACH 172.18.0.6:8088 at TCPConnectWrap.afterConnect
- 为我的测试创建一个 Docker 镜像,添加到 docker-compose 文件中,然后重复上述步骤。同样的错误。
如果这提供了更多上下文,我在下面添加了我的 docker-compose.yml模板。除了 db 图像之外,它们每个都有一个 repo。它们相互依赖如下
容器:C -> B + A -> db
*针对C运行的测试
我开始我的 GA 工作流程,如下所示:
- 为C启动 PR并触发 GA 工作流
- 签出上述每个 repos(db 除外,这是公开的)
- 构建他们的每个图像,然后
docker-compose up
- 查看我的测试存储库并针对C的 localhost url 的提要(C://C:3333/rest/of/path)运行它们。
github-actions - Github 操作交付机器人
我们已经为 ci/cd 管道设置了 Github 操作,几天前它按预期工作。我们使用 GitHub pr 评论(/deploy staging)将代码部署到 AWS S3 存储桶,一切都按预期工作,但是现在当我们评论 pr(拉取请求)时,部署不会触发,而是在 10 小时后的午夜触发. 这是我的文件。
工作流/deploy.yml
名称:“部署”在:[“部署”]
作业:部署:名称:'部署到 ${{ github.event.deployment.environment }}' 运行:ubuntu-latest 步骤:
工作流/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
部署.yml
暂存:环境:暂存生产环境:真
生产:环境:生产生产环境:真