在 Travis CI 上上传构件
Travis CI 可以在作业结束时,在 after_script
阶段之后,自动将您的构建构件上传到 Amazon S3。
请注意,构件插件不适用于拉取请求构建。
对于最小配置,请将以下内容添加到您的 .travis.yml
中
addons:
artifacts: true
并在存储库设置中添加以下环境变量
ARTIFACTS_KEY=(AWS access key id)
ARTIFACTS_SECRET=(AWS secret access key)
ARTIFACTS_BUCKET=(S3 bucket name)
区域默认为 us-east-1
。对于任何其他区域,请定义 ARTIFACTS_REGION
环境变量或将其添加到构件配置键下
addons:
artifacts:
s3_region: "us-west-1" # defaults to "us-east-1"
您可以在 此处 找到您的 AWS 访问密钥。
部署特定路径 #
上传到 S3 的默认路径是通过 git ls-files -o
找到的,以便找到 Git 工作副本中未跟踪的任何文件。如果需要上传任何其他路径,可以通过 addons.artifacts.paths
键指定,如下所示
addons:
artifacts:
# ⋮
paths:
- $(git ls-files -o | tr "\n" ":")
- $(ls /var/log/*.log | tr "\n" ":")
- $HOME/some/other/thing.log
或作为存储库设置中的环境变量
# ':'-delimited paths, e.g.
ARTIFACTS_PATHS="./logs:./build:/var/log"
请记住,在上面的示例中,冒号 (:
) 用作分隔符,这意味着文件名不能包含此字符。
工作目录 #
如果您想从特定目录上传文件,可以通过设置 addons.artifacts.working_dir
来更改您的工作目录。
addons:
artifacts:
# ⋮
working_dir: out
目标路径 #
默认情况下,构件将上传到存储桶中由 /${TRAVIS_REPO_SLUG}/${TRAVIS_BUILD_NUMBER}/${TRAVIS_JOB_NUMBER}
定义的路径。您可以使用 target_paths
键在构建时更改上传路径,例如
addons:
artifacts:
target_paths:
- /$TRAVIS_OS_NAME/$((lsb_release -rs 2>/dev/null || sw_vers -productVersion) | grep --only -E '^[0-9]+\.[0-9]+')
调试 #
如果您想查看有关构件插件正在执行的操作的更多详细信息,将 addons.artifacts.debug
设置为任何非空值将打开调试日志。
addons:
artifacts:
# ⋮
debug: true
或将其定义为存储库设置环境变量,或在 env.global
部分中定义
ARTIFACTS_DEBUG=1
Travis CI 构件上传器 #
对于更复杂的构件上传,您可以使用 构件上传器工具,该工具默认安装在您的构建虚拟机上。
构建配置参考 #
您可以在我们的 Travis CI 构建配置参考 中找到有关 构件 的构建配置格式的更多信息。