2017-09-29 54 views
0

我有一個Travis構建的新問題。總之,我.travis.yml文件包含:特拉維斯跳過S3部署,因爲不允許分支

deploy: 
    provider: s3 
    access_key_id: mYacc3ssKeyID 
    secret_access_key: 
    secure: mYacc3ssKey 
    bucket: my-bucket-staging 
    skip_cleanup: true 
    local_dir: dist/ 
    acl: public_read 
    on: 
    branch: staging 

deploy: 
    provider: s3 
    access_key_id: mYOtheracc3ssKeyID 
    secret_access_key: 
    secure: mYOtheracc3ssKey 
    bucket: my-bucket 
    skip_cleanup: true 
    local_dir: dist/ 
    acl: public_read 
    on: 
    branch: master 

直到8月16日,此設置工作按預期(分期分公司部署到my-bucket-staging桶,主分支被部署到my-bucket水桶,和所有其他分支被忽略) 。我.travis.yml文件自7月13日並沒有改變,但staging分支停在八月與消息Skipping a deployment with the s3 provider because this branch is not permitted部署16.我的最後一個已知的成功部署是在8月15日

這也是值得注意的是,主部署仍然會作爲預計,這只是我遇到問題的臨時分支。

因爲我還沒有在我結束改變任何東西(的staging分支在同一分支,.travis.yml文件是相同的,等等),我不知道是否有與特拉維斯的變化,我錯過了?有沒有人知道爲什麼這(似乎)會停止工作?

我通過特拉維斯的文檔重讀,沒有注意到有什麼不同,但我覺得我的東西必須在某一點發生了變化或者說我失去了一些東西非常明顯。

回答

0

上面YAML段限定兩個相同的鍵deploy,所以只有最後一個是有效的;這意味着,就您的.travis.yml而言,沒有配置提供商用on.branch: staging定義。

如果要定義不同分支上工作2個部署提供商,你需要deploy下一個2元素的數組:

deploy: 
    - provider: s3 
    access_key_id: mYacc3ssKeyID 
    secret_access_key: 
     secure: mYacc3ssKey 
    bucket: my-bucket-staging 
    skip_cleanup: true 
    local_dir: dist/ 
    acl: public_read 
    on: 
     branch: staging 
    - provider: s3 
    access_key_id: mYOtheracc3ssKeyID 
    secret_access_key: 
     secure: mYOtheracc3ssKey 
    bucket: my-bucket 
    skip_cleanup: true 
    local_dir: dist/ 
    acl: public_read 
    on: 
     branch: master 

這是我不清楚它如何能之前已經有工作你如所示的原始配置。我會有興趣看到Travis CI的工作日誌。