Continuous Integration for Apigee Proxies using Maven
The objective of this project is to implement a containarised framework that can
be used to demonstrate best practices around continuous integration for Apigee
projects.
Components
Sample Apigee Proxy - Currency API
Project contains a sample proxy for a currency API that retrieves exchange rates
for a base currency using fixer.io API as the target.
See Currency API OpenAPI Specification for more
information on northbound api design.
The following best practices demonstrated:
-
Error handling - Community
Article -
Deployment suffix for team deployment - Community
Article -
Commit data in proxy description. See pom.
-
Unit testing - Community
Article. -
Integration testing with BDD and apickli - see feature
file.
See maven phases document to understand pom structure.
Dockerfile
Project contains a Dockerfile that can be used to create
a Jenkins image ready to start deploying currency api.
Docker implementation performs the following operations:
-
Jenkins plugin installation - check out the list of plugins
installed -
Setup build jobs - see jobs folder
-
Configure maven settings
-
Configure ssh for github authentication
-
Install node.js and npm
Read the Jenkins build pipeline to understand how
pipeline is configured for this demonstration.
Read the setup instructions for step-by-step instructions on
how to setup the whole CI process using the sample proxy and Dockerfile.
