如何让 github actions 工作流程使用机器人名称将生成的文档推送到同一组织中的其他存储库

2024-03-07

我正在github上开发一个python包。在 github 的一个组织下我有两个存储库myorg/package and myorg/documentation. The packagerepo 包含 python 包以及构建 sphinx 文档和documentation包含通过 github 页面发布的生成的静态 html。

我现在正在设置 github actions 工作流程来构建文档package并将其推至documentation通过将发布标签推送到package回购协议,但我在推送时遇到问题documentation repo.

理想情况下,我希望将提交标记为由机器人进行,并且我希望所有拥有两个存储库推送权限的人都能够运行工作流程。

这是我当前的工作流程:

name: Deploy

on:
  push:
    tags:
      - 'v*'

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
      with:
          path: package
    - uses: actions/checkout@v2
      with:
        repository: myorg/documentation
        path: documentation
    - name: Set up Python
      uses: actions/setup-python@v2
      with:
        python-version: 3.9
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install tox tox-gh-actions
    - name: Build documentation
      run: |
        cd package
        tox -e apidoc
        tox -e docs
    - name: Publish documentation
      run: |
        cp -RT package/dist/docs/ documentation/latest/
        cd documentation
        git config --local user.name "github-actions[bot]"
        git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
        git add -A
        git commit -m "Documentation update"
        git push

在最终命令上运行此命令失败:

remote: Permission to pharmpy/pharmpy.github.io.git denied to github-actions[bot].
fatal: unable to access 'https://github.com/pharmpy/pharmpy.github.io/': The requested URL returned error: 403

我不太确定机器人的名称和电子邮件。一些谷歌搜索给人的印象是,这属于一些可以使用的标准机器人。

我怎样才能让它发挥作用?


所以我找到了一个解决方案:

  1. 创建具有存储库访问权限的个人访问令牌
  2. 添加这个个人令牌作为 github actions 秘密(我将其命名为PUSH_TOKEN)
  3. 在结帐和推送时使用此令牌

这是工作流程的修改后的工作版本:

name: Deploy

on:
  push:
    tags:
      - 'v*'

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
      with:
          path: package
    - uses: actions/checkout@v2
      with:
        repository: myorg/documentation
        path: documentation
        token: ${{secrets.PUSH_TOKEN}}
    - name: Set up Python
      uses: actions/setup-python@v2
      with:
        python-version: 3.9
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install tox tox-gh-actions
    - name: Build documentation
      run: |
        cd package
        tox -e apidoc
        tox -e docs
    - name: Publish documentation
      run: |
        cp -RT package/dist/docs/ documentation/latest/
        cd documentation
        git config --local user.name "github-actions[bot]"
        git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
        git add -A
        git commit -m "Documentation update"
        git push https://$USERNAME:[email protected] /cdn-cgi/l/email-protection/myorg/documentation.git
      env:
        REPO_KEY: ${{secrets.PUSH_TOKEN}}
        USERNAME: github-actions[bot]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何让 github actions 工作流程使用机器人名称将生成的文档推送到同一组织中的其他存储库 的相关文章

  • 有没有办法将 Jenkins 与 Github Pull 请求结合使用?

    我希望 Jenkins 自动查找并运行属于开放拉取请求一部分的每个分支的测试套件 我还没有找到一些 Jenkins 插件 这可能吗 最近发布了一个新插件Jenkins Github 拉取请求构建器 https wiki jenkins ci
  • 为什么 git mergetool 说“没有文件需要合并”?

    我正在尝试将 BeyondCompare4 配置为 git 中的 difftool 和 mergetool 我使用的是 git 版本 2 5 0 windows 1 到目前为止 BeyondCompare4 作为 difftool 工作得很
  • 在 Azure Pipelines 托管的 Linux 代理上运行 Cypress.io

    我正在尝试在 Azure Pipelines 的托管 Linux 池上运行 Cypress 测试 不幸的是 托管代理没有安装 Cypress 的所有依赖项 运行记录的apt get不起作用 2018 05 18T21 03 14 74233
  • Git - 显示远程分支的远程名称

    是否有一个 Git 命令可以显示远程分支的远程名称 目前 我坚持使用 shell utils 从远程分支引用中提取远程名称 例如 echo remote name branch name sed r s 1 remote name 有时出于
  • 我可以从命令行向 github 添加问题吗?

    我是 git 新手 我希望能够通过 github 绘制我的项目的计划和进度 问题是 这需要在 github com 上使用浏览器进行大量点击 并且我希望能够通过使用命令行程序来自动执行该任务 github 有命令行界面吗 有一个ghi ge
  • 来自 eclipse 的部分 git 提交 (egit)

    假设我有一个有 2 个更改的文件 如何使用 egit 只提交其中之一 命令行版本可以在以下位置找到this https stackoverflow com questions 1085162 commit only part of a fi
  • 将 svn 存储库添加到现有的 git 存储库中?

    我知道你可以使用 git svn init 来跟踪 svn 存储库 但这是为了你想创建一个全新的存储库 我的情况是 我目前已经有一个现有的 git 存储库 并且希望通过将 svn 存储库设为我当前 git 存储库中的远程分支来跟踪 svn
  • 如何获取第一次提交的 Git diff?

    我创建了一个存储库 在其中创建了一个文件 在文件中放入了一些内容 然后提交了该文件 现在 我想查看该提交的差异 理想情况下应该显示添加的文件以及添加到其中的行 然而 git diff HEAD HEAD回报fatal ambiguous a
  • 如何使用 git hook pre-merge-commit 获取原始合并分支名称

    我正在尝试使用新的 git hook pre merge commit 创建一个特定的脚本 但它没有参数 有什么解决方法可以让我获得正在合并的分支的名称吗 例子 在分支 myBranch 上 我调用 git merge testingBra
  • 由于不存在大文件而导致 git Push 错误

    当尝试推送到 git 时 我不断得到相同的结果 Counting objects 78 done Delta compression using up to 4 threads Compressing objects 100 67 67 d
  • “git add”返回“致命:外部存储库”错误

    我刚刚进入 git 的奇妙世界 我必须提交我对程序所做的一系列更改 位于名为的目录中 var www myapp 我创建了一个新目录 home mylogin gitclone 从这个目录中 我做了一个git clone针对公共回购 我能够
  • 使用 Subversion 进行部分提交

    鉴于我做的案例两个独立的变化 in one文件 例如 添加了一个新方法并更改了另一个方法 我经常不想提交这两项更改 因为one提交 但作为two独立承诺 在 git 存储库上我会使用互动模式 of git 添加 1 http linux d
  • 本地git,推送到tfs远程repo

    我厌倦了向我的队友解释使用 DVCS 相对于 CVCS 的好处 他们中的一些人害怕学习曲线 另一些人则看不出任何原因 因为对他们来说 这都是一样的 就我个人而言 我对 TFS 及其问题感到非常厌倦 每当我需要进行一些小的 修复 时 我都必须
  • 使用 TortoiseGit 创建 git 克隆时出现 SSL 证书问题

    我想在 TortoiseGit 的帮助下克隆 git 存储库 但出现错误 错误 SSL 证书有问题 请验证 CA 证书是否正常 细节 错误 14090086 SSL 例程 SSL3 GET SERVER CERTIFICATE 访问时证书验
  • 如何标记单个文件?或如何下载特定文件? - 胃肠道

    我想向文件添加标签以轻松下载该文件而不是整个分支 如何下载GIT中的特定文件 我不知道有什么方法可以标记特定文件git 对于第二个问题 如何下载特定文件git 仅当您的意思是 同时下载 时 以下内容才有效in a git存储库 这就是我理解
  • Git 中的“分支提示”是什么?

    我正在学习 Git 并阅读专业 Git 书籍 https git scm com book en v2 书中和 Stack Overflow 上有时会使用术语 分支提示 但我找不到它的含义 分支提示是分支上的最后一次提交或最近一次提交 基本
  • hg 或 git 中的两个完整目录/项目之间存在差异?

    我继承了一个最初存储在 CVS 中的项目以及所有修订 我做了相当多的编辑 并且我试图比较我在原始目录中所做的所有更改 关于添加的新文件与旧文件 hg git 是否有某种实用程序可以让我进行树差异或类似性质的操作 也就是说 新添加的文件 删除
  • 如何列出所有 GitHub 用户?

    我正在开发一个网站 需要从 GitHub 爬取所有用户信息 至少是我们网站上的用户 我搜索了 GitHub API 没有找到答案 那么我有什么办法可以完成这份工作吗 我只有用户的电子邮件 我可以通过将电子邮件哈希值与头像 URL 进行比较来
  • 返回到存储库中的特定修订后提交并推送更改?

    我们需要及时返回到某个特定的提交 一些意外的改变是为了掌握 尝试恢复它挖得太深 所以 master 的状态很糟糕 现在我们希望master回到66ada4cc61d62afc 根据git 恢复到某个提交 https stackoverflo
  • 如何通过哈希显示提交的日期和时间

    I used git reflog识别我创建特定分支时的哈希值 我得到了哈希值fe1ddcdef 我还没有将此分支推送到远程 我现在正在尝试查找日期和时间fe1ddcdef发生 git reflog只告诉我 fe1ddcdef HEAD 1

随机推荐

  • 为什么performGC无法释放所有内存?

    鉴于该计划 import Language Haskell Exts Annotated from haskell src exts import System Mem import System IO import Control Exc
  • 注入 DAO 的 @Transactional 的 Spring WS 拦截器不起作用

    我们有一个基于 XML 的传统配置 spring ws 应用程序 其中包含端点拦截器 这些端点拦截器已注入 DAO 以从数据库获取配置 这些 DAO 注入了 hibernate sessionFactory 当我们升级到 spring 4
  • 将 SQLite 客户端数据库与 MySQL 服务器数据库同步

    我已经在 xcode 中使用 sqlite3 创建了一个应用程序 我想创建一个名为sync 的按钮来与我的服务器中的 mysql 数据库同步 关于同步过程有什么建议吗 请告诉我 好吧 您意识到这是一个不小的问题 去年 我为一个商业应用程序编
  • 日志文件存在于日志目录中,但在未启用日志功能的情况下启动

    我已经开始学习 MongoDB 并尝试将其安装在 Ubuntu 上 我最近从 Windows 转移到 Ubuntu 面临问题开始sudo service mongodb start 以下是日志 Sun Aug 4 20 25 36 774
  • 在 ViewPager 中多次使用一个 Fragment

    是否可以在视图分页器中多次使用一个片段 我正在尝试使用 ViewPager 构建动态更新的 UI 我想使用相同的设计 基本上是相同的片段 每个页面都有不同的数据 就像列表视图适配器一样 您可以为 ViewPager 中的每个页面实例化相同的
  • 如何获取在 iOS 示例应用程序中使用的图层名称? (张量流)

    我对 Tensorflow 非常陌生 我正在尝试使用 inception v3 网络来训练一些东西 以便在 iPhone 应用程序中使用 我设法将图表导出为协议缓冲区文件 手动删除 dropout 节点 我希望是正确的 并将该 pb 文件放
  • Android locationManager requestLocationUpdates 不起作用

    我正在开发一个应用程序 其中列出了距离用户最近的餐馆 单击刷新按钮后 它会列出用户当前位置的餐馆 我使用位置管理器并仅在活动进入前台 onResume 时请求更新 以避免持续使用电池 当应用程序进入 onPause 时 位置更新将停止 当我
  • 如何以及是否值得集成 Java Webapp + drools + Guvnor?

    我计划引入 Java 规则 目前正在评估 Drools 以从应用程序中外部化 物理上和逻辑上 业务规则 由于这些业务规则通常由企业制定 因此我希望企业通过 GUI 对规则进行必要的更改 我在 Google 上搜索了关于集成 java web
  • 更改 tvOS 上 SwiftUI 中按钮的颜色

    我正在尝试更改 SwiftUI 的颜色Button在电视操作系统上 修改background几乎可以工作 除了你可以看到底层UIButton实际上是在背景顶部使用圆形半透明图像 这会导致矩形背景位于圆形图像之外的角落处出现不同的颜色 Add
  • 如何在从url加载的ImageView中淡入图片

    我想对 ImageView 应用淡入动画 以创建从 url 加载的图像在下载完成时淡入的效果 我知道如何将图像从 url 下载到 ImageView 例如这个答案 https stackoverflow com questions 2471
  • 如何通过 Reasoning 实现 Apache Jena 中命名空间之间的映射?

    Goal 我不想在本体之间实现基于规则的映射 以完成数据迁移的常见任务 实现目标的方式 为了实现这一点 我开发了一个抽象数据结构 它能够存储任何数据类型的 xml 表示形式提供的所有信息 然后我编写了一个解析器 它根据目标文档类型定义构造了
  • 获取远程日志,而不是提交

    如何在不获取更改 提交的情况下获取远程日志 我只想查看日志 看看自上次以来是否有任何新的更改pull 基本上可以避免stash or commit我的改变先 git 帮助文件有这个例子 它以倒置的形式应该给出我想要的结果 git log m
  • WPF 中带有标题的边框

    有谁知道如何在 WPF 中获得带有标题的边框 即网络浏览器显示 标签的方式 有没有一种简单的方法 比如设置属性 或者我必须制作一个 ControlTemplate 也许是一个GroupBox http msdn microsoft com
  • 使用 JUnit 比较 ArrayList 是否相等的简单方法?

    使用 JUnit 比较 ArrayList 是否相等的简单方法是什么 我需要实现相等接口吗 或者有一个简单的 JUnit 方法可以使它更容易吗 对于列表相等性 您无需执行任何特殊操作 只需使用assertEquals即可 ArrayList
  • Python __enter__ / __exit__ 与 __init__ (或 __new__)/ __del__

    我已经搜索过 但找不到任何使用 python 的充分理由 enter exit 而不是 init or new del 我明白那个 enter exit 旨在与使用with作为上下文管理器的声明 以及with声明很棒 但与之相对应的是 这些
  • 如何循环关闭容器

    我有一个产品列表 我想在产品 Feed 中展示广告 我想要类似的东西 div div Bla div div Bla div div Bla div div div Adsense Stuff div div div Bla div div
  • 如何正确使用温斯顿

    我已阅读使用winston 包登录node js 的文档 我的问题 我是否需要将日志模块添加到需要的每个页面logging 还是温斯顿以某种方式拦截console log and console error 谢谢你的时间 通常 您需要在使用
  • jquery 使用 html5 模式进行验证

    如何使 jQuery 验证 支持 HTML 5 模式 如果不需要在每个字段上指定模式 那就太好了 我知道我可以做到这一点 如下 但是有更好的方法吗 form validate rules password pattern A Za z0 9
  • servicestack with funq - 按照惯例自动装配

    我有一个在其构造函数中采用 IMyDependency 的服务 IMyDependency MyDependency 和服务都位于同一个程序集中 MyDependency 有一个单一的 公共的 无参数的构造函数 令我惊讶的是 这不起作用 c
  • 如何让 github actions 工作流程使用机器人名称将生成的文档推送到同一组织中的其他存储库

    我正在github上开发一个python包 在 github 的一个组织下我有两个存储库myorg package and myorg documentation The packagerepo 包含 python 包以及构建 sphinx