flutter 在配置项中发布www.example.com包的最简单方法是什么pub.dev?

1aaf6o9v  于 2023-06-24  发布在  Flutter
关注(0)|答案(2)|浏览(143)

我试图使用dart pub publish在Github Actions中自动发布一个包,但我需要登录。登录工作流需要用户交互(通过Google登录),因此不能在配置项上使用。
根据https://github.com/dart-lang/pub/issues/2227,似乎没有一个简单的方法,但有人提到:
不得不把路径像run:echo ${{secrets.PUB_CREDENTIALS}} > /opt/hostedtoolcache/flutter/1.9.1-hotfix.2-stable/x64/.pub-cache/credentials.json不是很好维护。
这个credentials.json的格式是否已知?

    • 编辑**:在Windows上,the credentials.json文件不在C:\Users\<USER>\AppData\Roaming\Pub\Cache\credentials.json中,如博客文章中所示,它现在在C:\Users\<USER>\AppData\Roaming\dart\pub-credentials.json
yqyhoc1h

yqyhoc1h1#

This medium post有一个清晰的指南,可以帮助您通过CI-CD服务器将FlutterDart包发布到pub.dev
假设您有以下要求:
1.准备发布的Flutter包。

  1. pub.dev上的活跃帐户。
  2. GitHub上具有管理员访问权限的存储库。
    1.一台能用的笔记本电脑,互联网连接,还有一些耐心!
    以下是要遵循的步骤:
    1.检索pub.dev的登录凭据
    1.在GitHub上创建秘密
    1.编写一个shell脚本来设置凭据
    1.为GitHub Action创建发布包的工作流。
    1.触发构建。
    运行pub publish时请注意:
    当我们第一次在终端中运行这个命令时,pub会要求我们通过打开命令行上打印的URL来登录pub.dev帐户。使用该URL登录后,pub将一些登录凭据(恰好是一些令牌)存储到名为credentials.json的文件中。
    下次运行pub publish命令时,它会检查该文件并继续进行操作,而不要求再次登录。这给了我一个提示,要使它在CI-CD服务器上工作,我们需要在构建机器上以某种方式创建这个文件。
    你可以访问博客"Publish Your Flutter/Dart Package using GitHub Actions"以了解上面提到的每个步骤的更多细节。
ecfdbz9o

ecfdbz9o2#

现在支持此功能
https://dart.dev/tools/pub/automated-publishing
由于stackoverflow规则要求,我不能在这里发布解释,因为这太长了,将来可能会改变。

相关问题