Skip to content

publitas/middleman-aws-deploy

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Middleman AWS Deploy

Deploys build files to S3 at the end of the Middleman build toolchain, and/or invalidates Cloudfront.

In your config.rb file, add.

configure :build do
  # ...
  if ENV.include?('DEPLOY')
    activate :s3_deploy do |s3|
      s3.access_key_id = ENV['AWS_ACCESS_KEY_ID']
      s3.secret_access_key = ENV['AWS_SECRET_ACCESS_KEY']
      s3.bucket = ENV['AWS_S3_BUCKET']
    end
    activate :invalidate_cloudfront do |cf|
      cf.access_key_id = ENV['AWS_ACCESS_KEY_ID']
      cf.secret_access_key = ENV['AWS_SECRET_ACCESS_KEY']
      cf.distribution_id = ENV['AWS_CLOUDFRONT_DIST_ID']
    end
  end
end

With valid AWS creds, an s3 bucket, and cloudfront distribution id, you can deploy with the env var DEPLOY as a trigger (you can use whichever kind of trigger you like):

DEPLOY=true middleman build

S3 Deployment Note

The S3 deployer will check local file's md5 hash against the remote s3 etag. If they are the same, it will not upload the identical file. However, if you have :cachebuster set to active the hashes will always end up different on every build, triggering an upload. There's little such danger however for assets (css, images, etc).

About

S3+Cloudfront deployment for Middleman

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 100.0%