##AMPBench: AMP URL Validation and Troubleshooting
###What does it do?
AMPBench is a web application and service that validates AMP URLs + their associated Structured Data.
During AMP URL validation, it builds referable, support-friendly sharable URLs such as the following:
###License
AMPBench is licensed under the Apache 2.0 LICENSE.
###Disclaimer
AMPBench is not an official Google product.
###Getting the code and running it
Install Node.js version 4.X on your system. E.g., by downloading or by using a package manager or by using NVM.
Now do the following from a terminal command-line session:
$ git clone https://github.com/ampproject/ampbench.git
$ cd ampbench
$ npm update
$ nodemon
# or:
$ npm start
Also try navigating to these links from your web browser:
- http://localhost:8080/
- http://localhost:8080/version/
- http://localhost:8080/validate?url=https://ampbyexample.com/
- http://localhost:8080/api?url=https://ampbyexample.com/
Even try this from the command-line:
$ curl http://localhost:8080/version/
$ curl http://localhost:8080/raw?url=https://ampbyexample.com/
$ curl http://localhost:8080/api?url=https://ampbyexample.com/
$ curl http://localhost:8080/api2?url=https://ampbyexample.com/
####Requesting an AMPHTML Validator reload from the CDN (https://cdn.ampproject.org/v0/validator.js)
Use the following URL to ask AMPBench to reload the validator code into memory should a different (not only newer; there might have been a rollback) version be available:
../command_force_validator_update
For example:
Or:
$ curl http://localhost:8080/command_force_validator_update
###Deploying AMPBench to the Cloud
####Deploying AMPBench to Google Compute Engine
To deploy AMPBench to the App Engine flexible environment, you need to have a Google Cloud Platform Console project.
Please review the following documentation:
- Google Cloud SDK Command-line interface for Google Cloud Platform products and services
- gcloud Overview
- Initializing the SDK
- Run gcloud init
- Node.js on Google Cloud Platform
- Quickstart for Node.js in the App Engine Flexible Environment
- Deploying and running on the App Engine flexible environment
From within the ampbench source root folder, deplyoment to Google Compute Engine, App Engine flexible environment, should be similar to the following sequence.
$ gcloud init
$ gcloud app deploy
####Deploying AMPBench to Amazon Web Services (AWS)
AWS Elastic Beanstalk uses highly reliable and scalable services that are available in the AWS Free Usage Tier and supports apps developed in Node.js, such as AMPBench, out-of-the-box.
Please review the following documentation:
- AWS Elastic Beanstalk
- Getting Started Using Elastic Beanstalk
- Managing and Configuring Applications and Environments Using the Console, CLI, and APIs
- Create an Application
- Deploying a Web App Using Elastic Beanstalk
- Creating a Source Bundle with Git
Make sure to set up AWS with your account credentials:
The Elastic Beanstalk Command Line Interface (EB CLI) is configured as follows:
From within the ampbench source root folder, deplyoment to AWS Elastic Beanstalk environment should be similar to the following:
$ eb init # only initially or when the configuration changes
$ eb deploy