Vì vậy, nền tảng là đây: Tôi có một dự án Xcode phụ thuộc vào gói swift trong kho lưu trữ riêng trên github. Tất nhiên, điều này đòi hỏi một chìa khóa để truy cập. Cho đến nay, tôi đã quản lý để cấu hình CI sao cho tôi có thể ssh vào thể hiện và git clone
kho lưu trữ bắt buộc cho gói swift. Thật không may khi chạy nó với xcbuild
CI, nó không hoạt động và tôi nhận được thông báo này:
static:ios distiller$ xcodebuild -showBuildSettings -workspace ./Project.xcworkspace \
-scheme App\ Prod
Resolve Package Graph
Fetching git@github.com:company-uk/ProjectDependency.git
xcodebuild: error: Could not resolve package dependencies:
Authentication failed because the credentials were rejected
Ngược lại, git clone
sẽ vui vẻ lấy repo này như đã thấy ở đây:
static:ios distiller$ git clone git@github.com:company-uk/ProjectDependency.git
Cloning into 'ProjectDependency'...
Warning: Permanently added the RSA host key for IP address '11.22.33.44' to the list of known hosts.
remote: Enumerating objects: 263, done.
remote: Counting objects: 100% (263/263), done.
remote: Compressing objects: 100% (171/171), done.
remote: Total 1335 (delta 165), reused 174 (delta 86), pack-reused 1072
Receiving objects: 100% (1335/1335), 1.11 MiB | 5.67 MiB/s, done.
Resolving deltas: 100% (681/681), done.
Để biết thêm một chút bối cảnh, điều này đang chạy trên CircleCI, được thiết lập với khóa Triển khai trên GitHub, đã được thêm vào Công việc trên CI.
Bất kỳ đề xuất nào về những gì có thể khác nhau giữa cách Xcode cố gắng tìm nạp các phụ thuộc và cách vanilla git thực hiện sẽ rất tuyệt. Cảm ơn.