Skip to content

popularowl/apigeebootstrap

Repository files navigation

Apigee Bootstrap

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

Apigee Bootstrap framework contains

  • 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.

How to deploy

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).

Set local environment variables

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"

Deploy API bundle

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  

How to run tests

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

Related Tutorials / Posts

Improvements

See outstanding issues for contribution ideas. Pull requests are welcome.

OSS Licensing

Maintained by popularowl.com

This project comes with GPLv3 open source license. Contact us for consulting services and full commercial license for your business.

About

Bootstrap project for Apigee Edge api development.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published