• Stars
    star
    222
  • Rank 179,123 (Top 4 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created almost 10 years ago
  • Updated almost 8 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The bare minimum for a phantomjs app to run on Amazon Lambda.

PhantomJS Lambda Template

This is a reference implementation of running PhantomJS on AWS Lambda deployed with AWS CodePipeline.

Background

PhantomJS needs to be compiled for the OS you plan on running it and this can be painful because of that fact. This could be circumvented with a build server, which is a very personal decision and it was hard to commit to a build server for this little project. Now with AWS CodeBuild, this has become a trivial matter. So we are using AWS Developer tools 100%, AWS created a great walk through: Automating Deployment of Lambda-based Applications I have done my best to automate the walk through, so its simple and repeatable.

Setup prerequisites

  1. Setup your AWS account and AWS CLI
  2. Fork this project
  3. Setup a personal access token with GitHub for AWS CodePipeline , you can skip this if you use AWS CodeCommit but you will have to change the cloudformation. https://github.com/settings/tokens

Install local dependencies

$ npm install

Test local install

$ npm test

Deploy the pipeline

npm run deploy-pipeline -- --parameter-overrides \
           EnvironmentName=phantom \
           GitHubToken=< your token > \
           GitHubUser=justengland \
           Repo=phantom-lambda-template \
           Branch=master
# **Note:** npm version 2.x or newer required to pass arguments to the scripts using `-- args`

View your work

  1. Checkout AWS CloudFormation
  2. Watch as AWS CodePipeline creates a new stack
  3. Once the stacks are finished test your AWS Lambda