【问题标题】:making travis-ci zip my project after successful build and push it to github成功构建后使 travis-ci 压缩我的项目并将其推送到 github
【发布时间】:2014-07-10 02:57:39
【问题描述】:

我目前正在开发一个简单的 java 项目,该项目存储在 github 存储库中,使用 maven 构建它,使用 Travis-ci 在将更改推送到存储库后自动构建它。我的老师要求,在 travis-ci 自动成功构建后,我压缩整个项目并存储它。 我已经用 maven 完成了项目的压缩。它将我的 zip 文件带到我项目的 src/main/resources 中,因此我可以将 zip 文件推送到我的 github 存储库中。但是当 travis 创建 zip 文件时,它不会将 zip 推送到我在 github 中的存储库。相反,它会生成 zip 文件到 /home/travis/build/my-user/...

这就是它在 travis 终端上所说的: [INFO] 构建 zip:/home/travis/build/fabiophillip/calculadoralib/src/main/resources/CalculadoraLib-0.0.1-SNAPSHOT-assembly.zip

如何让 travis-ci 将此 zip 推送到我的 github 存储库,而不是我不知道如何访问的 travis 文件夹?

【问题讨论】:

标签: java maven github travis-ci


【解决方案1】:

你可以使用我所做的in this answer (to another question)

您只需压缩您的项目并将其作为在所有标记提交上部署到 github 版本的文件。

压缩文件夹:

cd to the folders repository
zip whatyouwanttonamethezip

这会将当前目录(包括所有子目录)复制到存档文件中。

这将在你的 git repo 的 tags/releases 选项卡上创建这个按钮。

【讨论】:

    【解决方案2】:

    创建并推送标签后,下面的配置将执行以下操作:

    1. Travis 将克隆 repo(命名为“api”)
    2. 回购已建成
    3. repo 已压缩
    4. Zip 作为标记发布下载上传到 GitHub。

    我正在使用 PHP,但步骤应该相同。

    dist: trusty
    language: php
    php: 7.1
    
    env:
     global:
     - REPO=api
     matrix:
      - BUILD_ENV=test
      - BUILD_ENV=qa
    
    install:
    - composer install --no-interaction
    
    branches:
      # expected format: v1.0.0
      only:
      - /^v\d+(\.\d+)+$/
    
    before_deploy:
    - cd ..
    - tar -zcf ${TRAVIS_BUILD_DIR}${REPO}-${BUILD_ENV}-${TRAVIS_TAG}-${TRAVIS_BUILD_NUMBER}.tar.gz ${REPO}
    
    deploy:
      # GitHub - Add zip to release
      - provider: releases
        api_key:
          secure: "YOUR GITHUB API KEY"
        file: ${TRAVIS_BUILD_DIR}${REPO}-${BUILD_ENV}-${TRAVIS_TAG}-${TRAVIS_BUILD_NUMBER}.tar.gz
        skip_cleanup: true
        on:
          tags: true
    

    【讨论】:

      【解决方案3】:

      要将 zip 上传到 GitHub,您可以提交回 repo 或使用需要使用标签的 GitHub 版本。

      我建议将您的 zip 文件上传到 AWS S3

      您可以按照 these instructions 从 Travis 上传到 S3,这是一个简短的示例,您可以将其添加到您的 .travis.yml

      deploy:
        provider: s3
        access_key_id: "YOUR AWS ACCESS KEY"
        secret_access_key: "YOUR AWS SECRET KEY"
        bucket: "S3 Bucket"
        skip_cleanup: true
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-09-25
        • 2023-04-03
        • 2016-04-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多