Exemplo n.º 1
0
	runSequence('build', function() {
		gulp.src(localConfig.buildSrc)
		//.pipe(awspublish.gzip({ ext: '' }))
		.pipe(publisher.publish(awsConf.headers))
		.pipe(cloudfront(cfSettings))
		.pipe(publisher.cache())
		.pipe(publisher.sync())
		.pipe(awspublish.reporter());
		done();
	});
Exemplo n.º 2
0
gulp.task('build:s3:publish:html', function () {
  validateAWSConfig()
  return gulp.src(buildPath + '/**/*.{html,html.gz}')
    .pipe(publisher.publish(headers))
    .pipe(publisher.cache())
    .pipe(awspublish.reporter())
    .pipe(cloudfront({
      distribution: process.env.CLOUDFRONT_DISTRIBUTION,
      indexRootPath: true
    }))
})
Exemplo n.º 3
0
gulp.task('cdn', function(callback) {
  if(! (process.env.AWS_ACCESS_KEY_ID && process.env.AWS_SECRET_ACCESS_KEY && process.env.AWS_S3_BUCKET && process.env.AWS_CLOUDFRONT_DISTRIBUTION_ID) ) {
    console.error('No AWS credentials found.');
    return callback();
  }

  var aws = {
    region: 'us-west-2',
    key: process.env.AWS_ACCESS_KEY_ID,
    secret: process.env.AWS_SECRET_ACCESS_KEY,
    bucket: process.env.AWS_S3_BUCKET,
    distribution: process.env.AWS_CLOUDFRONT_DISTRIBUTION_ID
  };

  var publisher = awspublish.create({
    region: aws.region,
    accessKeyId: aws.key,
    secretAccessKey: aws.secret,
    params: {
      Bucket: aws.bucket
    }
  });

  var cfSettings = {
    distribution: aws.distribution,
    accessKeyId: aws.key,
    secretAccessKey: aws.secret
  }

  return gulp.src(config.dest + '/**')
    .pipe(awspublish.gzip())

    // publisher will add Content-Length, Content-Type and headers specified above
    // If not specified it will set x-amz-acl to public-read by default
    .pipe(publisher.publish(config.cdn.headers))

    // print upload updates to console
    .pipe(awspublish.reporter({
      states: ['create', 'update']
    }))

    .pipe(cloudfront(cfSettings));
});
Exemplo n.º 4
0
gulp.task('s3push', () => {
  const awsConf = localConfig.getAwsConf(env);
  const publisher = awspublish.create(awsConf.keys);

  const unrevisionedHeaders = {
    ...awsConf.headers,
    'Cache-Control': 'max-age=0;smax-age=0;must-revalidate;'
  };

  const versioned = gulp.src(['./build/**/*', '!./build/index.html'])
    .pipe(awspublish.gzip({ ext: '' }))
    .pipe(parallelize(publisher.publish(awsConf.headers), 100));

  const unversioned = gulp.src('./build/index.html')
    .pipe(awspublish.gzip({ ext: '' }))
    .pipe(parallelize(publisher.publish(unrevisionedHeaders), 100));

  return merge(versioned, unversioned)
    .pipe(publisher.sync())
    .pipe(awspublish.reporter())
    .pipe(gulpif(!!awsConf.keys.distribution, invalidate(awsConf.keys)));
});
Exemplo n.º 5
0
gulp.task('deploy', ['minify'], function() {
  var publisher = awspublish.create({
    region: config.cdn.region,
    params: {
      Bucket: config.cdn.bucket
    }
  });

  return gulp.src(config.dest + '/' + config.minified.name + '*')
    .pipe(rename(function(path) {
      var version = packagejson.version;
      if (gutil.env.latest) {
        version = 'latest';
      }

      path.dirname = config.cdn.path + '/skygear/' + version;
    }))
    .pipe(publisher.publish())
    .pipe(awspublish.reporter())
    .pipe(awsinvalidate({
      distribution: config.cdn.distribution
    }));
});