如何让 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 工作流程使用机器人名称将生成的文档推送到同一组织中的其他存储库 的相关文章

  • git | git将旧提交移至另一个分支的过去

    我过去错误地进行了分支 并且在另一个分支的开头留下了一个提交 03431cb HEAD gt bar a2 d332e4d foo b2 9b29ae3 b1 4656a98 a1 6ebca20 master root 我怎样才能移动a1
  • git 别名:多个命令、可变参数

    我经常发现自己输入以下内容 git push remote1 branch1 branch2 tag1 tag2 tag3 git push remote2 branch1 branch2 tag1 tag2 tag3 我更喜欢一个别名 我
  • 从另一个分支或从 master 创建 Git 分支?

    所以我是 Git 新手 我最近从存储库中提取了主分支的新版本 我创建了一个branch 1 获取某个功能并将其推送到存储库并创建拉取请求 现在我创建了一个新的branch 2 具有另一个功能 但由于我的拉取请求尚未合并 再次拉取 maste
  • 为什么我必须使用“git commit -a”而不仅仅是“git commit”?

    我正在尝试了解 Git 的复杂性 我使用 git clone url here 从 GitHub 上下载了一个存储库 我做了一些更改 尝试使用 git commit 来提交它们 这似乎没有将更改推送到我的本地存储库 在本地目录 git 中
  • git:键不包含节

    我使用的是 Git 版本 1 8 4 2 When I press tab to auto complete any command it prints the error below and it also completes the c
  • gnutls_handshake() 失败:握手失败 GIT

    一切都工作正常 但突然我收到错误 致命 无法访问 https 电子邮件受保护 cdn cgi l email protection name repo name git gnutls handshake 失败 握手失败 我在我的计算机和 E
  • Git 分支名为 origin/HEAD -> origin/master

    我对 Git 还很陌生 但仍在掌握它的窍门 我最近刚刚开始与分支机构合作 遇到了一些问题 我有两个开发系统 一个 Ubuntu 桌面和一个 MacBookPro 我在新的环境中做了很多工作organizationsUbuntu 系统上的分支
  • 如何为Git存储库组织和设置镜像备份服务器?

    我正在将一些 svn 存储库移至 Git 所以 我基本上尝试做的是 设置一台带有裸 Git 存储库的服务器 我将从中拉取和推送到该存储库 为第一台服务器上的所有存储库设置一些备份服务器 所以 假设我的服务器上有一个目录 例如 HOME gi
  • 无法连接到存储库:执行 git 命令时出错:git ls-remote -h ***public github url *** HEAD

    I have installed jenkins on ec2 instance when i try to configure my public github repo with the ec2 instance then it thr
  • 如何使用 python 模块的多个 git 分支?

    我想使用 git 来同时处理我正在编写的模块中的多个功能 我目前正在使用 SVN 只有一个工作区 因此我的 PYTHONPATH 上只有该工作区 我意识到这不太理想 所以我想知道是否有人可以建议一种更 正确 的方法来做到这一点 让我用一个假
  • Git 子模块导入语句失败

    我将一个存储库作为子模块添加到我的项目中 但是当我编译项目时 该存储库中的导入语句无法解析 为了添加子模块 我使用了命令 git submodule add
  • Git 错误:引用名称“HEAD”不明确

    我对 git 还很陌生 目前 我尝试按照本教程使用分支名称和版本覆盖我的应用程序的图标 http www merowing info 2013 03 overlaying application version on top of your
  • Visual Studio 2013 GitHub 头像未显示

    我已经使用 GitHub 设置了 VS 2013 我的问题是 当我提交到 GitHub 时 我看不到我的 GitHub 头像 如本文所述post http blogs msdn com b visualstudioalm archive 2
  • git分支没有显示所有分支

    opt lampp htdocs drupal 8 4 0 git branch 我已经在我的系统中安装了drupal 我想切换到其他分支 但是当使用git分支时不显示其他分支 Execute git branch av显示所有远程和本地分
  • 我应该在 Heroku 上部署 Ruby on Rails 应用程序吗?

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 关于我自己的一些情况 我今年 24 岁 去年从北卡罗来纳州立大学毕业 获得了分析硕士学位 统计 数学之类的 我没有很强的编程背景 这对我的问题非
  • GIT:查找包括子模块的文件列表(例如使用 git ls-files)

    我一直在试图弄清楚如何获取 git 存储库中所有文件的列表 包括子模块中包含的文件 现在 git ls files将提供顶级子模块目录 但不提供子模块中包含的文件 经过进一步调查 我发现使用git submodule 你可以递归地找到所有的
  • git commit 保存 vim 文件时出错

    我正在遵循简单的 git 指南nettuts 简易 git 指南 http net tutsplus com tutorials other easy version control with git 我在我的中初始化了一个空的 git 实
  • 是否可以使用 Visual Studio 中的 git stash 命令

    我正在使用 Visual Studio 2017 的团队资源管理器来处理git存储库 每次我使用git stash or git stash pop 我需要打开 Git Bash 控制台并导航到我的项目文件夹并运行命令 有什么方法可以隐藏在
  • Visual Studio 2022 Git 推送标签

    有谁知道如何在 Visual Studio 2022 中推送标签 自从我切换到多存储库模式后 我在任何地方都找不到它 解决方法是通过命令行推送标签 事实上 标签有点隐藏 你应该去团队资源管理器 gt Git 存储库 gt 在你的分支下 gt
  • 如果使用 Maven,是否应该忽略 VCS 中 Eclipse 特定的文件?

    我知道为什么不将 Eclipse IDE 特定的文件提交到像 Git 我实际上正在使用的 这样的 VCS 中 这就是我使用 Maven 并让它为您生成这些文件的原因之一not将它们置于版本控制之下 但我想知道 是否应该在 gitignore

随机推荐

  • 为什么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