作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个想要与 Jenkins 一起构建的项目。
该项目托管在私有(private) GitHub 存储库中,我已将 SSH 公钥放在我的用户“部署”的 GitHub 中。
由于构建配置中的 Jenkins git 插件部分中的部署凭据,该项目得到了很好的检查。
但是在同一 GitHub 组织中作为私有(private)托管的供应商库是通过构建步骤命令加载的:
php composer.phar install -o --prefer-dist --no-dev
Failed to clone the git@github.com:Organisation/Repo.git repository, try running in interactive mode so that you can enter your GitHub credentials
su - deploy -c 'php composer.phar install -o --prefer-dist --no-dev'
最佳答案
Jenkins 实际上是以“jenkins”用户身份运行 shell 命令的。
这意味着“jenkins”需要访问 GitHub。
然后所有 git@github.com:Organisation/Repo.git
无需其他凭据即可工作。
这里解释了如何通过 SSH 授予 Jenkins 对 GitHub 的访问权限
# Login as the jenkins user and specify shell explicity,
# since the default shell is /bin/false for most
# jenkins installations.
sudo su jenkins -s /bin/bash
ssh-keygen -t rsa -C "your_email@example.com"
# Copy ~/.ssh/id_rsa.pub into your Github
# Allow adding the SSH host key to your known_hosts
ssh -T git@github.com
# Exit from su
exit
关于github - 如何让 Jenkins 通过 Composer 检查私有(private)供应商 repo ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28351568/
我是一名优秀的程序员,十分优秀!