如何使用个人访问令牌在 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 通过我的个人访问令牌访问组织拥有的私有存储库中的文件数据?