2015-12-09 27 views
3

我有一个yeoman项目(webapp发生器),并与下面特拉维斯-CI配置:约曼项目未能dist目录部署到S3

language: node_js 
node_js: 
- '4.1' 
before_script: 
- gem install compass 
- npm install 
- npm install bower 
- bower install 
- npm install grunt-cli 
- grunt build 
deploy: 
    provider: s3 
    access_key_id: AKIAIOVIOPLVOEVHJUQA 
secret_access_key: 
secure: HhLo08go5z+PBZkimdgLoTBBXQPzw0B1P2WHWmqtZ/H9RzGc7IUFE/6ubnewlyqy6Baa3mumcQ2A24lm98/ZZt8GZ+usI8dDF9maGVCFq2R53G1Rir+HleDVtkm/xGrxpvtLn/x+4QNselt2F6oODGNpmgGumaqMiabMm59ABw4CV3TULvWz1CKg/BC/YTVz58Equ0MhIZIk6igjc1PgOEiXfsKlBGVI5///MqjsuYB/6dtlrhzxPSpdGucnU0lmW+0TDzkX9WyEJPeDjTVLYNiviZmKIPw0fofc3BGCZs6QEibAFkJ40JF8CCzC3JdcV0vj7PFe5LEtWd+LGW+gew5HjVGcPkOtGwi8npTmHOlTZJRgrFySdJe6fy8N3we2Ht194GqPnJx8/D/F0p1fNq8/KujxQZX6L5BJNfO5a9iYgyD3q/cWBbxj2VIbYkrZAKK8LtnXrzXY+owmQYLiENB47atiwtJBg2ZoSsBw8ANR1RWSlyymdbwvoBxKUoZ324MO2l3yrAndheS1S4hauRs6bk52obcPUKMFkW+1/sDbxf15JcMhi48RN1jcDGSpHKqm7zHlfd2BfJC3U+tCRchD0gLYmgZBNhsL4sVyil4/0/lWALm10En1eDD8tvssCadnRRllbVIqIyx3UcKJC+JwymvtUatwHBW61ZzQyfA= 
    bucket: www.raeprojects.org 
    local-dir: dist 
    acl: public_read 
    on: 
     repo: raeprojects/www-raeprojects-org 

我试图部署dist目录(由grunt build任务创建)到S3。一切事情都似乎除了在deployement级良好,特拉维斯CI是无法找到dist目录,并返回此错误消息:

Deploying application 
Already up-to-date! 
# HEAD detached at 114e66f 
nothing to commit, working directory clean 
Dropped refs/[email protected]{0} (7986ed431f2b3467e1369af81ef95256d352c571) 
/home/travis/.rvm/gems/ruby-1.9.3-p551/gems/dpl-  1.8.11/lib/dpl/provider/s3.rb:47:in `chdir': No such file or directory - dist (Errno::ENOENT) 
    from /home/travis/.rvm/gems/ruby-1.9.3-p551/gems/dpl-1.8.11/lib/dpl/provider/s3.rb:47:in `push_app' 
    from /home/travis/.rvm/gems/ruby-1.9.3-p551/gems/dpl-1.8.11/lib/dpl/provider.rb:145:in `block in deploy' 
    from /home/travis/.rvm/gems/ruby-1.9.3-p551/gems/dpl-1.8.11/lib/dpl/cli.rb:41:in `fold' 
    from /home/travis/.rvm/gems/ruby-1.9.3-p551/gems/dpl-1.8.11/lib/dpl/provider.rb:145:in `deploy' 
    from /home/travis/.rvm/gems/ruby-1.9.3-p551/gems/dpl-1.8.11/lib/dpl/provider/s3.rb:73:in `deploy' 
    from /home/travis/.rvm/gems/ruby-1.9.3-p551/gems/dpl-1.8.11/lib/dpl/cli.rb:32:in `run' 
    from /home/travis/.rvm/gems/ruby-1.9.3-p551/gems/dpl-1.8.11/lib/dpl/cli.rb:7:in `run' 
    from /home/travis/.rvm/gems/ruby-1.9.3-p551/gems/dpl-1.8.11/bin/dpl:5:in `<top (required)>' 
    from /home/travis/.rvm/gems/ruby-1.9.3-p551/bin/dpl:23:in `load' 
    from /home/travis/.rvm/gems/ruby-1.9.3-p551/bin/dpl:23:in `<main>' 

未能部署

我也gulp-webapp产生不同的项目相同的问题发电机 。这是来自该项目的.travis.yml的spinet:

. . . . . . 
before_script: 
- npm install 
- npm install -g bower 
- bower install 
- gulp build 
. . . . . . . 

任何人都可以帮忙吗?

+1

你能'ls'执行步骤,其中,按说,创建'DIST /'后,要保证它的实际* *呢? –

+0

我这样做了,发现dist/dir已经创建,但是想出了后期travic-ci在部署之前正在清理工作区,这就是为什么dist/dir在部署期间不可用的原因 – ambes

+1

老兄,你应该修改你的信誉 –

回答

7

最后我想通了travis-ci默认在运行npm test后清理工作区(删除dist/目录)。我找到了一个指示travis-ci no来清理工作区的选项。我添加了skip_cleanup: true.travis.yml并且工作正常。这里是我的编辑.travis.yml文件:

deploy: 
    . . . . . . . 
    bucket: www.raeprojects.org 
    local-dir: dist 
    skip_cleanup: true // insures dist/ dir not to be deleted after npm test 
    acl: public_read 
    . . . . . 
+0

It * is *在文档的某个地方,很好的捕捉。 –