Framework for API development and continuous deployment on Google Apigee Edge API management platform. This project provides blueprint code setup and includes best practices for rapid Apigee Edge api development lifecycle.
creaded by @sauliuz - get in touch if you are looking for Apigee expertise
- Api deployment automation via Maven and Apigee deploy plugin
- Platform configuration setup as code via Apigee config Maven plugin
- Continuous Integration setup with pipeline examples for Jenkins & Circleci
- Dynamic endpoint configuration across multiple environments via version controlled key value maps.
- Best practices for optimising API performance and low latency in Apigee Edge.
- Implemented Apigee error handling pattern.
- Built with TDD (test driven development) and BDD (behaviour driven development) principles in mind.
- Correlation id generation / propagation examples.
- Logging integration examples to multiple logging platforms.
Apigee bootstrap project is configured for deployment with Maven. Its using Apigee Maven and Apigee Config Maven plugins for deploying apis and environment specific setup (target servers, kvm's, etc).
During deployment, Apigee bootstrap receives deployment information from the arguments privided to Maven build command.
In order to succesfully deploy API bundle, Apigee username and deployment password have to be provided. Apigee bootstrap expects these values to be setup as the environment variables for the best security and continuous integration practices.
You have to set APIGEE_USERNAME and APIGEE_PASSWORD in order for API bundle deployments to succeeed.
Set local variables on Unix / Linux machines
export APIGEE_USERNAME=your username
export APIGEE_PASSWORD=your password
Set local variables on Windows machines
setx APIGEE_USERNAME "your username"
setx APIGEE_PASSWORD "your password"
After setting above environment variables in order to deploy API bundle you can run the following
mvn install -P{environment name} -Dorganization={Apigee org name}
In order to deploy environment settings use the following
mvn apigee-config:targetservers -P{environment name} -Dorganization={Apigee org name} -Dapigee.config.options=update
mvn apigee-config:caches -P{environment name} -Dorganization={Apigee org name} -Dapigee.config.options=update
mvn apigee-config:keyvaluemaps -P{environment name} -Dorganization={Apigee org name} -Dapigee.config.options=update
Apigee bootstrap includes 2 types of tests.
Code quality testing for JS extention code using Eslint and unit tests and BDD based API integration tests based on Cucumberjs and Apickli.
Both test groups can be run manually
./run-code-tests.sh
./run-integration-tests.sh
- Why use Apigee bootstrap framework? - detailed post why and how Apigee bootstrap framework project was built.
- Build API mocks with Amokjs - using apigee bootstrap to host Nodejs applications in Apigee Edge.
- Apigee platform learning resources - large list of Apigee learning resources.
See outstanding issues for contribution ideas. Pull requests are welcome.
Maintained by popularowl.com
This project comes with GPLv3 open source license. Contact us for consulting services and full commercial license for your business.