标签: github-actions

我如何获得 github actions runner 令牌

我想在工作流程中创建一个虚拟机并设置为自托管运行程序。目前,阻碍我的是缺乏为我提供 Runner Token 的 API。如果存在,我可以创建该实例并将其注册为运行程序,以便能够在下一个作业中使用它。

现在有人有办法获得跑步者令牌吗?

github-actions github-actions-runners

9
推荐指数
2
解决办法
2万
查看次数

为什么该操作无法访问机密?

我正在尝试创建一个工作流程来使用 Github Actions 将 Nuget 包部署到 Github 包存储库。

在这种情况下,

  • 存储库位于组织内部
  • 我是该组织的所有者
  • 我拥有存储库的管理员访问权限
  • 存储库列出了机密
  • 提交是我的
  • 提交是直接提交到分支

但该操作无法访问秘密

回声

以下是我尝试执行的工作流程

name: Build and Publish
on:
push:
  branches:
    - gh-packages
jobs:
build_and_publish:
env:
  ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }}
name: Publish Packages to NuGet
runs-on: ubuntu-latest
steps:
  - uses: actions/checkout@v2
  - uses: actions/setup-dotnet@v1
    with:
      dotnet-version: "3.0.100"
  - name: Dump Github Context
    env:
      CONTEXT: ${{ toJson(github) }}
      SECRETS: ${{ toJson(secrets) }}
      TOK: ${{ secrets.ACCESS_TOKEN }}
      TEST: ${{ secrets.TEST }
    run: |
      echo $ACCESS_TOKEN
      echo $TOK
      echo $TEST …
Run Code Online (Sandbox Code Playgroud)

github github-actions building-github-actions

9
推荐指数
2
解决办法
1万
查看次数

使用 GitHub Actions 自动从远程拉取

我在 GitHub 上有一个私有存储库,我的目标是每当有新提交时,我们都会在 VPS 上更新存储库。

我当前正在做的是使用 SSH 操作登录到服务器、找到存储库并从源拉取

问题在于存储库是私有的并且需要身份验证。我尝试在全局 git 配置中设置我的用户名和密码,但即使这样做之后,它仍然需要身份验证。

git ubuntu github command-line-interface github-actions

9
推荐指数
1
解决办法
8310
查看次数

GitHub Actions:如何通过终端访问当前构建的日志

我正在尝试熟悉 Github Actions。我已经以某种方式配置了我的工作流程,每次我将代码推送到 GitHub 时,代码都会自动构建并推送到 heroku。

如何在不访问 github.com 的情况下在终端中访问构建日志信息?

build github github-actions

9
推荐指数
2
解决办法
5207
查看次数

GitHub + 不要将 PR 与未解决的对话合并

我想添加一条规则,以便无法合并具有开放对话的 PR。碰巧我可以在 PR 中找到一个拼写错误并添加评论并仍然批准该 PR,以便作者有机会快速纠正此拼写错误并合并该 PR。但我希望在作者解决对话之前不可能合并 PR。是否有可能做到这一点?

github github-actions

9
推荐指数
1
解决办法
3283
查看次数

Docker 在 Github Actions 中撰写端口映射

我正在尝试使用 Github Actions 和 Docker Compose 设置测试 CI。您可以在此处查看存储库。

我在端口 3000 上有一个前端,它与端口 4000 上的后端进行通信。我正在使用一个测试库 (Cypress),它在模拟浏览器中针对前端启动预定任务。

我的 docker 设置可以在本地运行,但是我似乎无法在 Github 运行程序中使网络/端口映射正常工作。在 上找不到前端服务http://localhost:3000

注意:我用来network_mode: host简化环境。

如何配置 Github 工作流程以成功连接到端口 3000 上主机网络上的前端应用程序?

docker-compose github-actions

9
推荐指数
0
解决办法
1011
查看次数

将 GitHub Action 标记为可选

我正在向存储库添加 GitHub Action,但它不会直接影响我的 CI/CD 构建。是否可以将其标记为可选,以便如果失败,它实际上不会阻止我的工作流程?

github github-actions

9
推荐指数
1
解决办法
4270
查看次数

使用 GitHub Actions 循环多个文件

我的存储库的几个子目录中有多个.md文件。它们都有相同的命名约定,例如seminar1/slides.mdseminar2/slides.md等。这些*.md文件需要使用 pandoc 进行处理。我希望每次提交到存储库时都会自动执行此操作,并决定将其实现为在 Github 上运行的操作。

我已将以下工作流程创建为 .yml 文件,GitHub 将其识别为操作。如果我有一个子目录(例如 ),它会起作用/seminar1/*.md,但如果有更多子目录,它就会失败。

name: Make slides

on: push

jobs:
  convert_via_pandoc:
    runs-on: ubuntu-18.04
    steps:
      - uses: actions/checkout@v2
        with:
          ref: slides
      - run: |
          echo "::set-env name=FILELIST::$(printf '"%s"' seminar*/*.md)"
      - uses: docker://pandoc/latex:2.9
        with:
          args: -t beamer --output=${{env.FILELIST}}.pdf ${{env.FILELIST}}
      - uses: actions/upload-artifact@v2
        with:
          name: seminar-slides
          path: seminar*/*.md.pdf        
Run Code Online (Sandbox Code Playgroud)

如何让脚本检测所有文件seminar*/*.md并对其进行操作?

另外,我需要一些一般可用性方面的帮助:

  1. 所有脚本都从根目录运行。这意味着我必须修改 .md 文件的内容以包含该目录,例如,而seminar1/bridge.jpg不仅仅是包含bridge.jpg. 如何更改每个的工作目录$env.FILELIST
  2. 如何从文件名中删除扩展名并在 中使用它$env.FILELIST

bash pandoc github-actions

9
推荐指数
1
解决办法
1万
查看次数

仅当特定步骤失败时才运行 GitHub Actions 步骤

我\xe2\x80\x99d 喜欢仅在之前的特定步骤失败且退出代码不同于零的情况下才运行步骤。\n我\xe2\x80\x99d 尝试了下面的代码,但它不起作用。\n我该怎么做?

\n
- name: JobA\n  id: seedBuild\n  run: |\n        echo "::set-output name=exit_code::$(echo -n "$?")"\n\n- name: JobB\n  id: allJobs\n  run: |\n        echo "::set-output name=exit_code::$(echo -n "$?")"\n\n- name: Debug Job Failure\n  run: |\n        echo "******** Job Logs from ********"\n  if: "${{ steps.seedBuild.outputs.exit_code != 0 || steps.allJobs.outputs.exit_code != 0 }}"\n
Run Code Online (Sandbox Code Playgroud)\n

github-actions

9
推荐指数
1
解决办法
6941
查看次数

在部署到 firebase 托管之前在 github 操作中设置环境变量

我有一个 React 应用程序,它利用 Firebase 提供的自动部署 Github 操作。我的问题是,我没有将文件推送到 Github,因此当工作流脚本文件在 Github 操作中.env运行时,我的代码中没有内置环境变量。yarn build

我尝试通过在存储库的 Github 设置上设置变量来解决这个问题。我尝试了 Github 秘密(在“操作”下)和“环境”。

对于操作 -> 存储库机密,我设置了一个名为 的机密REACT_APP_GOOGLE_MAPS_API_KEY,并将以下脚本添加到我的steps

REACT_APP_GOOGLE_MAPS_API_KEY=${{secrets.REACT_APP_GOOGLE_MAPS_API_KEY}} yarn && yarn build
Run Code Online (Sandbox Code Playgroud)

然后我还创建了一个名为 的环境env,并在操作 -> 环境机密上添加了相同的环境,并将脚本更改为:

REACT_APP_GOOGLE_MAPS_API_KEY=${{env.REACT_APP_GOOGLE_MAPS_API_KEY}} yarn && yarn build
Run Code Online (Sandbox Code Playgroud)

这些都不起作用;环境变量没有捆绑到项目中,当我尝试在实时链接上加载地图时,由于“缺少 api 密钥”,我收到错误。

如何在 github 中设置秘密/变量,然后在我的工作流程脚本中使用它们?

作为参考,这是您从 firebase 获得的样板脚本:

REACT_APP_GOOGLE_MAPS_API_KEY=${{secrets.REACT_APP_GOOGLE_MAPS_API_KEY}} yarn && yarn build
Run Code Online (Sandbox Code Playgroud)

github firebase reactjs firebase-hosting github-actions

9
推荐指数
1
解决办法
8026
查看次数