Microclimate 19.03 is now available for download and was released on March 15, 2019. Read on to learn more about what’s new in this month’s Microclimate release.
Microclimate includes built-in support for many different languages and runtimes, including Java (both Microprofile and Spring), Node.js, Swift, Go, and Python. It also includes an extensible template system that you can use to bring your own additional languages, runtimes, and patterns into the Microclimate development environment.
With this release, you can now create a new template from an existing Microclimate project, or you can import an existing template directly from a Git repository. Of course, you can still manually define a template as you could with previous releases.
You can use an existing local project as the basis for a new template:
You can also import from a public Git repository URL:
Templates that you define appear in the Templates view as well as in the new project wizard:
More information on working with templates in Microclimate is available on our website.
Microclimate 19.03 supports building applications offline, such as behind a restrictive firewall, from within the Microclimate DevOps pipeline. In this configuration, the DevOps pipeline does (by design) not have access to any external internet resources, such as public GitHub and GitLab, Maven Central, npm, and Docker Hub. Many common public development repositories are unavailable in this configuration.
These resources that are traditionally acquired from the public internet must instead be hosted privately within a fully self-contained, user-managed environment hosted within IBM Cloud Private. For example, you might host source code on your cluster by using a private GitLab instance, use the IBM Cloud Private internal container image registry to host Docker images, and use a private Nexus instance to host your Node.js or Java application dependencies.
After you configure your offline environment architecture, the next steps depend on which type of application you want to build:
For Liberty or Node.js applications, first provision a private in-cluster Nexus repository, which runs alongside your Microclimate instance. Nexus maintains your application’s Node.js (npm/package.json) and Java (Maven) dependencies locally to the cluster so that the build process does not need to access the internet to build or deploy your application.
For building Node.js applications offline, configure the blob stores and repositories of Nexus, populate the Nexus repository with the dependencies of your Node application, and modify the Node.js Dockerfile and Jenkinsfile. Then, your npm project is ready to be deployed offline with the Microclimate DevOps pipeline.
For Liberty applications, configure your Nexus repository, transfer the artifacts required to build your application to this repository, publish a new Maven image that uses your Nexus repository, modify your Dockerfile, tweak the Groovy installation file, and then install and use the DevOps pipeline.
For building generic Docker applications, Nexus is not required. The offline DevOps documentation demonstrates how to build a Python project: store your Python code in an offline Git repository, move any required Docker images (Python and Flask plus dependencies) into an offline Docker image that is stored in the IBM Cloud Private Docker registry, update the project Dockerfile to use the IBM Cloud Private registry rather than the public registry, and then deploy your application by using the DevOps pipeline.
Note: Offline support is available only from the DevOps pipeline functionality of Microclimate. For more information, see Using Microclimate offline.
As first discussed in What’s New and noteworthy in Microclimate 18.12/19.01, the most recent releases of Microclimate reduce the complexity of installing Microclimate to IBM Cloud Private. This work has continued with this release, and now Microclimate automatically detects missing Kubernetes secrets in addition to detecting missing persistent storage, which was previously introduced in 18.12:
Besides the reduction of complexity, the Helm installation process for this release doesn’t include any other changes, and Microclimate continues to support IBM Cloud Private 3.1.2 and 3.1.1.
When you use the DevOps pipeline, the status of completed Jenkins deployments is automatically reflected in the pipeline view of Microclimate:
You can now create new GitHub repositories directly from the Microclimate new project wizard. The repository contents are based on the generated Microclimate project: