IBM z/OS Connect Server DevOps overview
z/OS Connect Server DevOps activities for building, deploying, and administering API projects in a Container Platform.
Before you begin
A DevOps pipeline defines a series of tasks that are run in a predefined sequence to automate the building and deployment of API projects for continuous integration and delivery. You can choose to automate the start of the DevOps pipeline by using technologies such as webhooks with GitHub, or you can manually commence the DevOps pipelines.
- Prerequisites
-
Choose one of the following options for the directory where the API project WAR files are deployed:
- The drop-ins directory
- The drop-ins directory, /config/dropins is a special directory that is supported by WebSphere® Application Server for Liberty. It allows WAR files to be deployed and dynamically loaded into the running z/OS Connect Server with no additional definitions that are required in the configuration file.
- A directory other than drop-ins
- This is required in any of the following situations:
- The APIs OpenAPI definition
servers:
section contains an entry for the context root value of the API, which is not just /.Note: The API project WAR file is generated with a context root of /. - Multiple APIs are to be deployed to the same z/OS Connect container. Because the API project WAR file is generated with a context root
of /, and multiple API WAR files in the same server must
have unique context root values, you need to include a unique context root value (not
/) in the APIs OpenAPI
definition
servers:
section. For example, to use a context root of /EmployeesApi:openapi: 3.0.0 ... servers: url: https://localhost:9443/EmployeesApi ...
- Requests to start an API require authentication only, without authorization, so the authorization roles need to be mapped to the WebSphere Application Server for Liberty special subject ALL_AUTHENTICATED_USERS. For more information, see How to define authorization roles.
If you choose not to use the drop-ins directory, you must alter the configuration that is used in z/OS Connect Designer during the creation of the API container image.
These API project WAR files are typically deployed into the /config/apps directory. You must create this directory but you can choose a different name.
You also need to configure awebApplication
element in theserver.xml
configuration file. For example,<webApplication location="/config/apps/EmployeesApi.war" name="EmployeesApi" contextRoot="/EmployeesApi"/>
Where:location
is the fully qualified path to the deployed API WAR file.name
is an optional attribute that is used in log messages to identify the API.contextRoot
value must match the context root value that is specified in theservers:
entry of the OpenAPI definitionservers:
section.
Note: ThewebApplication
configuration needs to be in the {server_config_dir}/server.xml. The API Project src/main/liberty/config/server.xml file is generated with specific content and any customized changes are overwritten.Ensure that the following requirements are also met.
- Each API project must be checked into a Source Code Management (SCM) repository.
- Gradle V7.6.1 or later must be installed on the machine running the builds.
- Access to Gradle. For more information, Building IBM z/OS Connect APIs with Gradle.
- The APIs OpenAPI definition