我想在工作流程中创建一个虚拟机并设置为自托管运行程序。目前,阻碍我的是缺乏为我提供 Runner Token 的 API。如果存在,我可以创建该实例并将其注册为运行程序,以便能够在下一个作业中使用它。
现在有人有办法获得跑步者令牌吗?
我正在尝试创建一个工作流程来使用 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 上有一个私有存储库,我的目标是每当有新提交时,我们都会在 VPS 上更新存储库。

问题在于存储库是私有的并且需要身份验证。我尝试在全局 git 配置中设置我的用户名和密码,但即使这样做之后,它仍然需要身份验证。
我正在尝试熟悉 Github Actions。我已经以某种方式配置了我的工作流程,每次我将代码推送到 GitHub 时,代码都会自动构建并推送到 heroku。
如何在不访问 github.com 的情况下在终端中访问构建日志信息?
我想添加一条规则,以便无法合并具有开放对话的 PR。碰巧我可以在 PR 中找到一个拼写错误并添加评论并仍然批准该 PR,以便作者有机会快速纠正此拼写错误并合并该 PR。但我希望在作者解决对话之前不可能合并 PR。是否有可能做到这一点?
我正在尝试使用 Github Actions 和 Docker Compose 设置测试 CI。您可以在此处查看存储库。
我在端口 3000 上有一个前端,它与端口 4000 上的后端进行通信。我正在使用一个测试库 (Cypress),它在模拟浏览器中针对前端启动预定任务。
我的 docker 设置可以在本地运行,但是我似乎无法在 Github 运行程序中使网络/端口映射正常工作。在 上找不到前端服务http://localhost:3000。
注意:我用来network_mode: host简化环境。
如何配置 Github 工作流程以成功连接到端口 3000 上主机网络上的前端应用程序?
我正在向存储库添加 GitHub Action,但它不会直接影响我的 CI/CD 构建。是否可以将其标记为可选,以便如果失败,它实际上不会阻止我的工作流程?
我的存储库的几个子目录中有多个.md文件。它们都有相同的命名约定,例如seminar1/slides.md、seminar2/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并对其进行操作?
另外,我需要一些一般可用性方面的帮助:
seminar1/bridge.jpg不仅仅是包含bridge.jpg. 如何更改每个的工作目录$env.FILELIST?$env.FILELIST?我\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 }}"\nRun Code Online (Sandbox Code Playgroud)\n 我有一个 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)