我有一个私有的CocoaPods规范回购,我的项目依靠它来运行pod install。
我正在尝试使用GitHub操作自动化我的构建过程。然而,由于规范回购是私有的,我在另一个项目中很难访问它。
我尝试了以下代码:
- name: Clone private-cocoapods-spec
uses: actions/checkout@v2
with:
repository: fishcharlie/Private-CocoaPods-Spec
ref: refs/heads/master
# GitHub's personal access token with access to `my-organization/awesome-action`
token: ${{ secrets.GH_ACCESS_TOKEN }}
persist-credentials: false
path: /Users/runner/.cocoapods/repos/private-cocoapods-spec可悲的是,这会产生以下错误:
存储库路径'/Users/runner/.cocoapods/repos/private-cocoapods-spec‘不在’/User/runner/work/Project/Project‘之下
我还尝试了以下基于这个堆栈溢出回答的方法
- name: Configure git
env:
TOKEN: ${{ secrets.GH_ACCESS_TOKEN }}
run: git config --global url."https://${TOKEN}:x-oauth-basic@github.com/".insteadOf "https://github.com/"但是,这也不起作用,并产生了以下错误:
Cloning spec repo `private-cocoapods-spec` from `git@github.com:fishcharlie/Private-CocoaPods-Spec.git`
[!] Unable to add a source with url `git@github.com:fishcharlie/Private-CocoaPods-Spec.git ` named `private-cocoapods-spec`.
You can try adding it manually in `/Users/runner/.cocoapods/repos` or via `pod repo add`.我假设这是因为我试图使用SSH而不是HTTPS进行身份验证。
实现这一目标并访问我的私有cocoapods-spec以使我的pod install命令成功的最佳方法是什么?
发布于 2021-11-30 00:32:10
为了避免显式使用凭据,可以使用git-凭据存储:
git config --global credential.helper store
echo "https://username:${{ secrets.TOKEN }}@github.com" > ~/.git-credentials在Podfile和podspec中,我只使用https://链接(没有用户名/密码)。使用git凭据配置,pod install就足以获得spec和pod存储库。
我在GitHub Actions 这里上构建了它。
使用SSH是很有问题的--如果使用部署密钥,就不可能区分应该使用哪个键来规范/重新部署。唯一的方法是改变~/.ssh/config中的主机。我认为这是一个错误的方法,特别是如果您看到podspec和podfile中的配置需要如何使其工作。
https://stackoverflow.com/questions/70101008
复制相似问题