我怎样才能在travis ci deploy上发布pub发布

时间:2016-05-04 13:19:26

标签: dart travis-ci dart-pub

我想知道是否有人可以提供一个很好的答案:

如何在部署步骤中在String overload上发布dart包,例如在某个标签甚至指定的分支上?

我认为我可以将脚本作为提供程序运行,但我认为对于pub我需要访问令牌吗?它不是很清楚,所以我决定在这里问。对于更详细的上下文,我的项目是https://pub.dartlang.org/,我想标记一个版本并让它像npm一样发布。

感谢。

2 个答案:

答案 0 :(得分:2)

感谢评论,我发现以下内容确实解决了这个问题...

  1. .travis.yml添加了一个部分来设置部署脚本,我改为分支只是为了这个例子,因为我弄乱了标签示例
  2.   deploy:
        provider: script
        script: ./tool/publish.sh
        on:
          branch: master
    
    1. 设置一些写出json的publish.sh
    2. #!/usr/bin/env bash
      mkdir -p .pub-cache
      
      cat <<EOF > ~/.pub-cache/credentials.json
      {
        "accessToken":"$accessToken",
        "refreshToken":"$refreshToken",
        "tokenEndpoint":"$tokenEndpoint",
        "scopes":["$scopes"],
        "expiration":$expiration
      }
      EOF
      
      pub publish -f
      
      1. 使用show in build disabled设置repo的travis设置中的env变量。
      2. 现在唯一的事情就是它会在到期后运作......

答案 1 :(得分:1)

您需要签出标记或分支,然后才能使用该目录中的pub publish进行发布。您需要将~/.pub-cache/credentials.json设为travis实例。

我自己没有尝试过。可能还有其他要求。