我目前正在开发一个存储在github存储库中的简单java项目,其中maven用于构建它,Travis-ci在将更改推送到存储库后自动构建它。我的老师要求,在travis-ci自动成功构建之后,我将整个项目压缩并存储起来。 我已经用maven完成了项目的压缩。它将我的zip文件带到我项目的src / main / resources中,这样我就可以在我的github存储库中推送ziip文件了。但是当travis创建zip文件时,它不会将zip压缩到github中的存储库。相反,它会生成zip文件到/ home / travis / build / my-user / ...
它在travis终端中说的是: [INFO]建筑拉链:/home/travis/build/fabiophillip/calculadoralib/src/main/resources/CalculadoraLib-0.0.1-SNAPSHOT-assembly.zip
如何让travis-ci将此zip文件推送到我的github存储库而不是这个我不知道如何访问的travis文件夹?
答案 0 :(得分:3)
您可以使用我的 in this answer (to another question) 。
你只需要压缩你的项目并让它成为所有标记提交中部署到github发行版的文件。
要压缩文件夹:
cd to the folders repository
zip whatyouwanttonamethezip
这会将当前目录(包括所有子目录)复制到存档文件中。
这将在您的git仓库的标签/发布标签上创建此按钮。
答案 1 :(得分:0)
没有真正好的方法将zip上传到GitHub,他们唯一拥有的是GitHub版本,它只适用于标签。我推荐的是将你的邮政编码上传至S3(免费使用一年:P)。您可以按照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
答案 2 :(得分:0)
创建并推送标签后,下面的配置将执行以下操作:
我正在使用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