The objective of the project is to implement a containarized framework that can be used to demonstrate best practices around continuous integration for Apigee projects.
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.
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.
Head over to community.apigee.com or #accelerator-ci-maven slack channel (for apigeeks only) for questions or discussions.