code: function createDeployTasks(depolyConfs, files, flaten){
          var tasks = flaten ? [] : {};
          fis.util.map(files, function(subpath, file) {
              fis.util.map(depolyConfs, function(name, depolyConf) {
                  var target = flaten? tasks : (tasks[name] = tasks[name] || []);
                  depolyConf.forEach(function(d) {
                      if(
                          file.release &&
                          file.release.indexOf(d.from) === 0 &&   //relate to replaceFrom
                          fis.util.filter(file.release, d.include, d.exclude)
                      ) {
                          target.push({dest : d, file : file });
                      }
  
                  });
              });
  
          });
  
          return tasks;
      }
docs: create task for files
  @param  {[type]} deploy config
  @param  {[type]} files
  @param  {[type]} tasks should wrap with deploy name or not
  @return {[type]}