Azure DevOps for IBM ACE
I have put together a simple guide for ACE users to automate your application deployments using Azure DevOps. The main motive behind doing this is that there are not a lot of articles about CICD pipelines for IBM ACE deployments as it is not a widely used open source tool.
When it comes to automating any deployments there are myriad of ways by which you can lay down the solution. In this article I intend to use Microsoft Azure DevOps (ADO) as the platform of choice. This is greatly beneficial for projects that are being managed using Azure boards.
As opposed to a traditional automation server, ADO provides you with two pipelines that allows us to effectively organise two main automation activities- Build and Release.
Solution
This is a distributed architecture solution using Azure Repos as the code repository. Updates made to the Azure Repos will trigger the build pipeline to create BAR files using agents having ACE runtime. The newly generated bar files will trigger the Release pipeline configured with Target servers as the agents to deploy the application bar files to different servers or environments.
Build Pipeline
A Build pipeline is where we create the bar files for ACE application. This is done by creating a custom yaml file that has the build configurations as separate tasks. Here we can also configure the build server that is dedicated for build activity by making use of agent pools. Agents in ADO are servers that can be registered with ADO to manage workloads. An agent can be configured by running agent scripts within an agent server by using a PAT (Personal Access Token) token that can be scoped within ADO for access granularity. Once an agent is configured, this can then be linked to a build yaml pipeline to create the bar files and publish it to the build job. It can also be parametrised so that we can create a template to re-use the YAML file for any new build pipelines. Below is a sample ADO build pipeline for ACE running in Mac OS.
Main Tasks mentioned in above build yaml:
领英推荐
Release Pipeline
Release pipeline in ADO is GUI based and lets you create a pipeline using box diagrams as different stages. Each stage can be configured with the target server where bar files are to be deployed using aforementioned agents. Trigger to this pipeline can be made continuous by enabling the appropriate option and then it will use latest published artifacts as a trigger to invoke release pipeline. Below is the release pipeline for ACE deployment.
Release pipelines also allows us to configure Pre/Post-Deployment conditions using Gates and Approvals. This way we can review the changes or look for a condition before a code moves into production. This also allows us to streamline the application lifecycle such that it meets organisational policies and standards. Retention Policies and Lease options also applies to the release pipelines so that we can retain the Release runs. Based on the requirement we can seamlessly make different versions of the code available to test teams by invoking corresponding release from release history. ADO also allows us to associate a change with a work item so that it can be traced all the way to releases. This end to end traceability is a power feature in ADO that gives us clarity on each individual releases and the associated code base for it.
Enhancements and other options
Conclusion
Using Azure DevOps for IBM ACE deployments is a no-brainer for Projects that are managed through Azure boards and companies which are invested heavily in Azure space. ADO comes with many rich features that allows us to come up with a fully fledged DevSecOps model that can abstract a lot of activities from developers and provides a very agile form of working in projects. As for this article I have merely skimmed the surface of what Azure DevOps is capable of when it comes to laying out a solution. There are loads of other features and capabilities I haven't discussed here for the simplicity of this article. I hope I was able to help tech enthusiasts in getting an idea on IBM ACE automation using ADO as the platform of choice. I highly recommend preparing for AZ-400 Microsoft DevOps expert level certification to learn more about Azure DevOps and DevOps in general.
Officer MW & Integration Development || BSS & OSS Services
7 个月Vinu Radhakrishna Pillai hello, I need your help in release pipeline for IBM ACE. can you please help me out in this?
Senior Integration Architect at Cognizant || Programmer | Enterprise Application Integration (EAI) | Cloud Modernisation | Middleware | IBM Integration Stack | Rhapsody Interoperability Healthcare ESB | Banking
1 年Fantastic explanation ??
Associate Architect @ Publicis Sapient | MuleSoft Mentor | IBM Certified ACE/IIB/WMB | IBM MQ | MCD-1 | IBM APIC | 3x Solace PubSub+ | 7x Azure | 2x GCP | 3x OCI | 5x Ali | Golang | Docker | ELK | Java | IIB/ACE Trainer
2 年Nice work buddy!!