问题标签 [github-actions]
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.
github - 仅当有人打开 PR 时才运行 GitHub Action
有没有办法只在 PR 打开时运行 Github-Actions。我知道有可能使用on = "pull_request"
. 然而,这意味着当有人打开 PR、评论、审查和关闭时,将触发工作流。当有人打开 PR 时,我只想运行一次。我试过 ENV_VAR 但没有运气。也许事件可能是要走的路?https://developer.github.com/webhooks/#events
github - 仅当 pr 目标为 master 时才运行 GitHub 操作
我试图找出一种仅在将 pr 打开到 master 时才运行 GitHub 工作流的方法,即更改将进入 master。
到目前为止,我到了这一点
当我打开拉取请求将development
分支合并到master
分支时,我的Install
操作没有运行,因为Is Master Branch
返回
refs/heads/development 与 refs/heads/master 不匹配
github - /github/home 是否在 github 操作之间持续存在?
到目前为止,根据文件系统文档,我的印象是(仅?)/github/workspace
跨操作(而不是工作流程)持续存在:
Docker 容器的工作目录。GitHub Actions 在此目录中执行。该目录的路径在
GITHUB_WORKSPACE
环境变量中设置。
(...)
操作可以修改此目录的内容,后续操作可以访问这些内容。
但我现在有一个reprex(带有动作运行的实时 repo)显示它/github/home
似乎在动作中也持续存在。
当然,我知道这些都不会在工作流程或运行中持续存在。就在动作之间。
文档(对我来说)对此有点不清楚,我还没有得到支持的答复。
从第一个操作记录/github/home
:
从第二个动作记录/github/home
:
这似乎表明确实,/github/home
也持续存在,但我想确定。
git - 我可以在本地编辑 main.workflow github-actions 文件吗?
main.workflow
如果我在本地而不是在分支中更改我的文件master
,提交并推送更改,我会从push
命令中收到此错误:
docker - 如何在一个 Github Actions Docker 中运行多个命令
一个运行多个命令的正确方法是action
什么?
例如:
我想将 python 脚本作为action
. 在运行此脚本之前,我需要安装requirements.txt
.
我可以想到几个选择:
Dockerfile
使用其中的命令创建一个RUN pip install -r requirements.txt
。- 使用
python:3
图像,并在运行in中的参数之前运行pip install -r requirements.txt
in文件。entrypoint.sh
args
main.workflow
- 同时使用
pip install
和python myscript.py
作为args
另一个例子:
我想运行一个存在于我的存储库中的脚本,然后比较 2 个文件(它的输出和一个已经存在的文件)。
这是一个包含两个命令的过程,而在第一个示例中,该pip install
命令可以被视为构建命令而不是测试命令。
问题:
我可以为另一个命令创建另一个 Docker,它将包含以前 Docker 的输出吗?
我正在寻找命令在 in Dockerfile
、 inentrypoint
或 in 中的位置指南args
。
github-actions - 我可以有多个 GitHub Actions 工作流文件吗?
我可以有多个工作流文件吗?
我有一些使用 GitHub Actions 的 repo,它们工作得很好!在我的特定用例中,我在“推送”时自动部署到我的开发环境,并在“发布”时自动部署到生产环境。这是两个独立的工作流程。
我知道我可以将这两个工作流放在同一个 main.workflow 文件中,这样可以正常工作,但我更愿意将它们完全放在单独的工作流文件中。例如,是否有可能拥有一个 dev.workflow 文件和一个 prod.workflow 文件?
我尝试创建一个 dev.workflow 和 prod.workflow 文件,但它们似乎没有被 Actions 拾取。似乎需要一个 main.workflow 文件。如果是这种情况,有没有办法将其他工作流文件源到 main.workflow 中?
google-cloud-platform - 尝试在 GitHub Actions 中运行 Terraform 时出错
我打算使用 GitHub Actions 在我的项目上运行一些 Terraform 命令。工作流程非常简单,基本上是:将凭据配置到 GCP -> terraform fmt
-> terraform init
->terraform validate
最后terraform plan
。它在该步骤中失败plan
,说明由于超时而尝试读取 GCP 上的现有资源时发生错误。
这是错误消息:
我能够在terraform plan
本地运行就好了。
使用的 Terraform 版本是 0.12.4,Google Provider 是 2.11。
github - Github 操作在作业之间共享工作区/工件?
尝试使用 Github 的 beta 操作时,我有两份工作,一份负责构建代码,另一份负责部署代码。但是,我似乎无法在部署工作中获得构建工件。
我最近的尝试是为每个作业手动设置具有相同卷的容器映像,根据文档,这应该是解决方案:https ://help.github.com/en/articles/workflow-syntax-for-github-actions#工作job_idcontainervolumes
设置容器使用的卷数组。您可以使用卷在服务或作业中的其他步骤之间共享数据。您可以在主机上指定命名 Docker 卷、匿名 Docker 卷或绑定挂载。
工作流程
第一个作业 (build) 有一个 build 目录,但是当第二个作业 (deploy) 运行时它没有并且只包含源代码。
这个项目是一个单声道存储库,其中的代码我试图部署在路径下,server
因此所有的working-directory
标志。
github - 使用 GitHub Actions 自动向 GitHub 存储库发出拉取请求
我在 GitHub 存储库中有一个文件,需要偶尔通过运行命令进行更新。
作为GitHub Workflows的一部分,我想让一个机器人运行命令,并查看它是否在 repo 上创建了差异,如果是,则自动向存储库发出拉取请求。
我怀疑GitHub 工作流可以帮助我做到这一点,因为 GitHub 现在允许人们运行任意容器(“操作”)来执行诸如在存储库中构建之类的操作。我在这里看到了一些官方的自动化工作流程,可让您“标记”和“评论”问题等:https ://github.com/actions/starter-workflows/tree/master/automation
如果我想运行任意命令并对存储库进行 PR,我应该查看哪些 GitHub Actions 而不是重新发明自己的 Actions?任何指针表示赞赏。