我想在我的工作流程中创建一个 VM 并设置为自托管运行器。现在,阻碍我的是缺乏给我 Runner Token 的 API。如果存在,我可以创建实例并将其注册为运行器,以便在下一个作业中使用它。
现在有没有人可以解决获得跑步者令牌的方法?
我想在我的工作流程中创建一个 VM 并设置为自托管运行器。现在,阻碍我的是缺乏给我 Runner Token 的 API。如果存在,我可以创建实例并将其注册为运行器,以便在下一个作业中使用它。
现在有没有人可以解决获得跑步者令牌的方法?
看起来他们终于创建了 runner api。请参阅此处的 API规范。
他们现在也有关于如何做到这一点的示例片段。有关完整示例,请参阅此处发布的其他答案。
现在,您必须使用此处找到的指南手动创建实例。
据github 工作人员称,计划最终添加一个用于生成 runner 令牌的 api,但没有透露何时发生这种情况的时间表。
路线图上有一个用于此的 API。我目前没有时间表可以分享。但我们将在可用时将其发布到变更日志。
并澄清围绕 PAT/跑步者令牌的一些困惑。通过 UI 提供的 runner 令牌是一个临时令牌,会在 60 分钟后过期。它仅具有注册跑步者的能力。
PAT 无法注册跑步者。
创建注册令牌的 API 已经可用:
使用以下 JavaScript 代码,您可以在 GitHub 操作内创建 GitHub 注册令牌:
const core = require('@actions/core');
const github = require('@actions/github');
async function getRegistrationToken() {
const githubToken = core.getInput('github_token'); // the GitHub Secret Token provided as an input of your GitHub Action using ${{ secrets.GITHUB_TOKEN }}
const octokit = github.getOctokit(githubToken);
const response = await octokit.request('POST /repos/{owner}/{repo}/actions/runners/registration-token', {
owner: github.context.repo.owner, // the value is taken from the environment variable GITHUB_REPOSITORY which is provided by the GitHub Action during runtime
repo: github.context.repo.repo, // the value is taken from the environment variable GITHUB_REPOSITORY which is provided by the GitHub Action during runtime
});
return response.data.token;
}
module.exports = {
getRegistrationToken,
};