2016-01-08 90 views
7

我上传一些.js文件通过特拉维斯一个S3桶时,特拉维斯缺少编码,其中一个文件有以下的正则表达式:上传到S3存储

/(^[a-zA-ZàáâäãåąčćęèéêëėįìíîïłńòóôöõøùúûüųūÿýżźñçčšžÀÁÂÄÃÅĄĆČĖĘÈÉÊËÌÍÎÏĮŁŃÒÓÔÖÕØÙÚÛÜŲŪŸÝŻŹÑßÇŒÆČŠŽ∂ð ,.'-]+)/ 

特拉维斯.yml文件是超级简单:

- provider: s3 
    access_key_id: THEKEY 
    secret_access_key: 
    secure: THESECUREDKEY 
    bucket: my-bucket 
    local-dir: build 
    skip_cleanup: true 
    on: 
    branch: master 
    acl: public_read 

没什么奇怪的存在,但这样做的上传后,我得到包含正则表达式(而不是我提供的正则表达式)的.js文件里面以下结果:

/(^[a-zA-Zà áâäãåąÄćęèéêëėįìíîïłńòóôöõøùúûüųūÿýżźñçÄšžÀÃÂÄÃÅĄĆČĖĘÈÉÊËÌÃÃŽÃÄ®ÅŃÒÓÔÖÕØÙÚÛÜŲŪŸÃŻŹÑßÇŒÆČŠŽ∂ð ,.'-]+)$/ 

正如你所看到的,我错过了大部分角色。

有没有办法在上传到s3存储桶时将编码设置为Travis? 我是否缺少别的东西?

+1

您的文件是否正确编码?使用提出的解决方案之一[这里](https://stackoverflow.com/questions/11018967/how-can-i-be-sure-of-the-file-encoding)来确保。 是否设置了正确的元数据? (您应该在AWS控制台的文件属性的元数据部分中找到Content-Type条目) – rolebi

回答

0

您正面临编码问题。发生这种情况时,应检查开始和终结点之间的任何内容是否缺少文件的编码信息。

你只有Travis >> AWS,所以它很容易。 尝试设置content-encoding为true

+0

由于@rolebi伤心,如果您对此不确定,请检查文件encondig。 –

+0

将'detect_encoding'设置为'true'对我来说不起作用 – lante

+0

您能否为您的代码的这一部分提供示例分支?我会试着弄清楚这里发生了什么 –