如何使用个人访问令牌在 github 操作工作流 (B) 中从不同的 repo(B) 提交和推送到私有 repo(A)

Posted

技术标签:

【中文标题】如何使用个人访问令牌在 github 操作工作流 (B) 中从不同的 repo(B) 提交和推送到私有 repo(A)【英文标题】:How to commit and push to a private repo(A), from a different repo(B), in github actions workflow (B) , using personal access token 【发布时间】:2022-01-10 10:58:21 【问题描述】:
name: deploy-me
on: [push]
jobs:
  deploys-me:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v2
        with:
          node-version: '14'
      - run: npm install
      - run: npm run dev

     //Next  I want to copy some file from this repo and commit to a different repo and push it

这是我的 workflow.yaml 文件,

npm run dev 之后,我希望能够将文件复制到另一个目录,提交并推送到另一个 repo

【问题讨论】:

您将需要某种“复制文件”命令,可能需要另一个“git clone”来创建一个存储库,您可以在其中执行此复制操作,在复制后需要一个“git add”,一个“git commit”和“git push”。尝试编写适当的命令。如果您对具体问题有具体问题,那么可以考虑在 *** 上提问。事实上,您已经发布了一个形式为“为我做我的工作”的问题。 嗨,谢谢你的回答:)你说得对,我可能没有说得具体,我有点想再次复制和克隆,但不知道是否可能,我会试试看,如果可能请发送链接到有人在工作流中使用 git 命令的资源 【参考方案1】:
name: deploy-me
'on':
    - push
jobs:
    deploy-me:
        runs-on: ubuntu-latest
        steps:
            - uses: actions/checkout@v2
            - uses: actions/setup-node@v2
              with:
                  node-version: '14'
              env:
                  ACCESS_TOKEN: '$ secrets.ACCESS_TOKEN '
            - run: npm install
            - run: npm run build
            - run: |
                  cd lib
                  git config --global user.email "xxx@gmail.com"
                  git config --global user.name "spark"
                  git config --global credential.helper cache
                  git clone https://$secrets.ACCESS_TOKEN@github.com/sparkdevv/xxxxxx
                  cp index.js clonedFolder/ -f
                  cd clonedFolder
                  git add .
                  git commit -m "$(date)"
                  git push

这就是我解决问题的方法,

    我从developer settings 创建了一个个人访问令牌并将其复制以供后续步骤使用。

    我通过导航到我的存储库设置并添加密码来添加 ACCESS_TOKEN 环境变量。这里我粘贴了之前创建的访问令牌。

    然后简单地使用该代码并使用 secrets 上下文访问该令牌,注意名称与我们之前创建的名称相似

    现在只需将代码推送到 repo,一切都会像魅力一样工作:)。

黑客愉快!

【讨论】:

以上是关于如何使用个人访问令牌在 github 操作工作流 (B) 中从不同的 repo(B) 提交和推送到私有 repo(A)的主要内容,如果未能解决你的问题,请参考以下文章

如何将 GitHub 个人访问令牌添加到 Visual Studio Code

如何使用 GitHub REST API 通过我的个人访问令牌访问组织拥有的私有存储库中的文件数据?

在 TortoiseSVN 中使用 github 个人访问令牌

更新 github 的个人令牌

如何通过命令行更新 GitHub 访问令牌

如何设置我的本地 Git 存储库以使用我刚刚创建的新个人访问令牌? [复制]