Bor*_*ayi 6 github dart flutter github-actions private-repository
我有一个 flutter 项目,它依赖于 GitHub 上的私有存储库,例如:
dependencies:
flutter:
sdk: flutter
my_package:
git:
url: git@github.com:username/my_package.git
ref: main
Run Code Online (Sandbox Code Playgroud)
当我flutter pub get在本地计算机上运行时,一切正常,因为我的计算机通过 SSH 对拥有存储库的 GitHub 帐户进行身份验证,但是一旦我尝试从 GitHub Action 运行它,它就会失败并显示以下消息:
git@github.com: Permission denied (publickey)
Run Code Online (Sandbox Code Playgroud)
那么如何正确、安全地让构建机器有权获取存储库呢?
以下是 GitHub 操作工作流程:
git@github.com: Permission denied (publickey)
Run Code Online (Sandbox Code Playgroud)
小智 9
“权限被拒绝”错误意味着服务器拒绝了您的连接。GitHub Actions只能访问它们运行的存储库。
有两种方式获取这个私有包:
最简单的方法是创建新的个人访问令牌并使用该访问令牌获取库
dependencies:
flutter:
sdk: flutter
private_package:
git:
url: https://username:token@github.com/user/repo
ref: main
Run Code Online (Sandbox Code Playgroud)
ref 是分支名称或提交 ID
网址示例:https://Mdkhaki:ghp_LMWzHKnNctxxX9dmP4kxmnwjshRMmJ2MyjF8@github.com/Mdkhaki/private-package.git
因此,为了访问其他私有存储库,您需要创建一个具有足够访问权限的 SSH 密钥。要了解更多信息,请访问