Mar*_*ian 15 git continuous-integration cd github circleci
giantswarm/docs-content在CircleCI中执行git存储库的构建时,我想将提交推送到另一个存储库giantswarm/docs.
我在以下deployment部分中有这个circle.yml:
git config credential.helper cache
git config user.email "<some verified email>"
git config user.name "Github Bot"
git clone --depth 1 https://${GITHUB_PERSONAL_TOKEN}:x-oauth-basic@github.com/giantswarm/docs.git
cd docs/
git commit --allow-empty -m "Trigger build and publishing via docs-content"
git push -u origin master
Run Code Online (Sandbox Code Playgroud)
这种失败与此错误消息的最后命令:
ERROR: The key you are authenticating with has been marked as read only.
fatal: Could not read from remote repository.
Run Code Online (Sandbox Code Playgroud)
该GITHUB_PERSONAL_TOKEN环境变量设置为用户的个人访问令牌,已与创建repo范围访问私人回购giantswarm/docs.此外,我将用户添加到具有该回购的管理员权限的团队.
当我在一个新的Ubuntu VM中执行它时,这一系列命令工作得很好.知道为什么它不在CircleCI上吗?
Ali*_*min 19
我用过
git push -q https://${GITHUB_PERSONAL_TOKEN}@github.com/<user>/<repo>.git master
Run Code Online (Sandbox Code Playgroud)
它起作用了.将其更新为:
# Push changes
git config credential.helper 'cache --timeout=120'
git config user.email "<email>"
git config user.name "<user-name>"
git add .
git commit -m "Update via CircleCI"
# Push quietly to prevent showing the token in log
git push -q https://${GITHUB_PERSONAL_TOKEN}@github.com/giantswarm/docs.git master
Run Code Online (Sandbox Code Playgroud)
Mar*_*ian 11
感谢Ali Amin的提示,我现在有了这个有效的解决方案:
version: 2
jobs:
build:
machine: true
steps:
- run:
name: Clone docs
working_directory: ~/workdir
command: |
git clone --depth 1 https://${DOCS_GITHUB_TOKEN}@github.com/giantswarm/docs.git
- deploy:
name: Trigger docs deployment
working_directory: ~/workdir/docs
command: |
git config credential.helper 'cache --timeout=120'
git config user.email "<email>"
git config user.name "Deployment Bot"
git commit --allow-empty -m "Trigger deployment"
# Push quietly to prevent showing the token in log
git push -q https://${DOCS_GITHUB_TOKEN}@github.com/giantswarm/docs.git master
Run Code Online (Sandbox Code Playgroud)
一些说明:
git clone是第一次.git命令都必须在克隆目录中执行.working_directory简化了这一点.DOCS_GITHUB_TOKEN是一个个人的访问令牌与repo范围的目标存储库.| 归档时间: |
|
| 查看次数: |
6151 次 |
| 最近记录: |