在travis-ci中的各个阶段之间传递信息

时间:2018-12-26 10:54:18

标签: travis-ci file-sharing

我想使用免费的在线服务transfer.sh在travis ci的各个阶段之间共享构建工件。虽然上传/下载很容易,但是问题在于生成的URL包含不可预测的部分,因此整个URL变得不可预测。

在早期上传工件时,我需要将生成的URL传递到后期。在AFAIK中,多阶段构建中的作业彼此严格隔离。

  • 因此,我正在寻找有关如何在阶段之间传递URL的想法。
  • 也欢迎想法如何通过(注册免费)服务传递工件。

1 个答案:

答案 0 :(得分:1)

我找到了一种在Travis-CI上的构建阶段之间传递工件的解决方案:滥用github版本。

  1. 在github存储库中创建标签,例如“ travis-ci”
  2. 在.travis.yml中,设置TRAVIS_TAG = travis-ci。
  3. 在需要存储工件的阶段中添加一个部署步骤(部署到github)。创建并使用加密的github令牌进行身份验证。即使在禁用了秘密环境变量的Windows主机上也可以使用。此步骤需要TRAVIS_TAG,因为否则将创建我们不想要的新标签。
  4. 在每个文件名中包含当前的TRAVIS_BUILD_NUMBER
  5. 稍后,使用curl来下载工件,因为URL现在是可预测的。

构建标签时,可以忽略TRAVIS_TAG并使用该特定标签存储中间工件。然后可以手动将其删除。