Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 通过travis而不是目录将单个文件上载到s3_Amazon S3_Continuous Integration_Travis Ci - Fatal编程技术网

Amazon s3 通过travis而不是目录将单个文件上载到s3

Amazon s3 通过travis而不是目录将单个文件上载到s3,amazon-s3,continuous-integration,travis-ci,Amazon S3,Continuous Integration,Travis Ci,我正试图通过travis将一个文件上传到S3 Bucket。然而,我无法做到这一点。这是下面的片段 deploy: - provider: s3 bucket: test-S# region: eu-west-1 upload-dir: test-s2/application local-dir: target/latest.tar.gz skip_cleanup: true 我得到的错误是不是目录-target/latest.tar.gz。我想知道如何使用Travis将单个文件而不是整

我正试图通过travis将一个文件上传到S3 Bucket。然而,我无法做到这一点。这是下面的片段

deploy:
  - provider: s3

bucket: test-S#
region: eu-west-1
upload-dir: test-s2/application
local-dir: target/latest.tar.gz
skip_cleanup: true

我得到的错误是
不是目录-target/latest.tar.gz
。我想知道如何使用Travis将单个文件而不是整个目录上传到S3。有什么办法吗?

要上传一个文件,我们需要在这里执行一个额外的步骤。在部署之前使用
阶段来实现它

before_deploy
  - cp -Rf YOUR_FILE_LOCATION file_name.tar.gz
现在,使用
s3
提供程序中的
glob
选项,而不是指定本地目录

请看下面的例子

deploy:
  - provider: s3
    bucket: bucket_name
    region: us-east-2
    skip_cleanup: true
    upload-dir: 's3_upload_directory'
    glob: 'file_name.tar.gz'
  
最后,您的travis文件如下所示

before_deploy
  - cp -Rf YOUR_FILE_LOCATION file_name.tar.gz
deploy:
  - provider: s3
    bucket: bucket_name
    region: us-east-2
    skip_cleanup: true
    upload-dir: 's3_upload_directory'
    glob: 'file_name.tar.gz'

latest.tar.gz
移动到类似
target/latest
local dir:target/latest
,也许是吧?这似乎就是答案