MettleCI Platform Components for Jenkins
The following high-level MettleCI architecture shows the key software components to be installed, and their communications between hosts.
The above diagram is one possible configuration, and is presented as an example for further architecture work. The number of IS environments, for example, and how many tiers they use, is notional.
In-scope Hosts
Jenkins Host: Where the Jenkins controller (providing build/deploy services as part of ALM) is run
Application Lifecycle Management Tools: One or more hosts running Work Item Management, and Git services
Developer's Workstation: Where the Windows DataStage Designer client is typically run
Information Server Development Environment: Your development instance of Information Server, which may be deployed in any topology, and on any number of hosts.
Other Information Server Environment(s): Downstream Information Server environments, including testing and (optionally) Production. These environments can be MettleCI deployment targets without requiring the deployment of any MettleCI components.
MettleCI Host: A MettleCI-dedicated Windows server hosting an IBM DataStage Client tier which is used by your Build system's agent, in conjunction with the MettleCI Command Line Interface, to automate build and deployment activities.
Connection descriptions
# | Summary | Description | Technical Notes |
---|---|---|---|
1 | MettleCI Workbench Service (Engine Tier) ↔︎ Your Work item Management system | The MettleCI workbench is configured to perform a dynamic lookup of work items as part of the Git Commit process. Currently supported work item management systems are listed here. | The Workbench service on your DataStage Engine tier needs to be able to use your Work Item Management system’s query API, over whatever protocols/ports it requires. |
2 | MettleCI Workbench Service (Engine Tier) ↔︎ Your Git Repository | The MettleCI Workbench application running on your DataStage Engine tier needs to performs a commit to your Git platform | |
3 | Jenkins Host ↔︎ Your Git repository | Jenkins can keep pipeline definitions (as jenkinsfile files) in a repository so they can be versioned the same as the artifacts | |
4 | Jenkins Host ↔︎ Developer Workstation DataStage designer client | Web access to Jenkins by developers. Similar web access should exist to the work item management and git repository | |
5 | Jenkins Host ↔︎ MettleCi Host DataStage designer client | Jenkins controller issues commands to the Jenkins Agent to perform MettleCI related tasks such as code movement, and DataStage deployment (project manipulation, job compliation) | |
6 | Developer Workstation ↔︎ IS/DS Service/Engine tiers | Normal developer activity such as editing jobs, test compilations, etc | |
7 | delete? | ||
8 | Mettle CI Host ↔︎ DataStage Development Environment engine and service tiers | The MettleCI Host requires regular access to the development environment's DataStage Engine tier for initiating compilations, project creation, job compilation and <?> and access to the Services Tier for authentication | |
9 | Developer Workstation DataStage designer client ↔︎ MettleCI Host | The (optional) plugins effect checkin, test case specification generation, and <?> via the Mettle CI host, further the developer can access the (optional) Azkaban scheduler and wallboard components via a supported web browser | |
10 | Mettle CI Host ↔︎ DataStage downstream (test, prod, etc) engine and service tiers | The MettleCI Host requires regular access to the downstream test environments' DataStage Engine and Services tiers, to effect automated deployment (and possibly execute unit tests) |
John McKeever : I updated the diagram to match the notation and colors of the generic page MettleCI For DevOps - Technical Prerequisites I also cribbed some of the connection summary and descriptions from it I wasn’t frealy clear on the difference between description and technical notes, can you clarify? With that cleared up I think this page is done at last?