CI/CD (continuous integration and continuous delivery) is a software development approach that automates app building, testing, and deployment to accelerate the delivery of incremental code changes and speed up release cycles. It works well in a wide range of circumstances, but there are inefficiencies in the process when it comes to packaging applications in modern formats such as AppV, MSIX, app attach, App Volumes, Cloudpaging, and FlexApp. 

The solution is straightforward rather than variable and unpredictable, technology-driven rather than human-led, and automated rather than resource-intensive. That solution involves using automated application packaging technologies but, before exploring the solution further, let’s first look at how current processes typically operate. 

 

Inefficiencies at the Last Hurdle 

The CI/CD software development approach stumbles in many situations at the final hurdle when an application is requested in a modern packaging format. In a developer’s CI/CD pipeline, part of the process is often to create binaries for applications. This is most often .EXE files but could also be .DLL, .Jar files, and more. 

Binaries work well in a range of circumstances but rarely in corporate environments. This is because system administrators and engineers responsible for enterprise app deployments need the standardisation and security features that come with MSI and more modern application packaging formats. The standardisation features allow packaging engineers to create and deploy app packages with specific configurations across many different machines. The security features in modern app format installers ensure centralised control and oversight. 

When developers only had to focus on MSI, the situation was somewhat simpler as development tools such as Visual Studio made it possible to create app packages in the MSI format. This solution ran into problems when that capability was removed from Visual Studio.  

 While more recent versions now enable MSI app package creation again and even MSIX package creation, a new problem is now more pressing – the use of non-Microsoft app packaging formats. 

 Enterprises today could use a single app packaging format, or they might use two or three depending on application and deployment requirements. AppVolumes, Cloudpaging, and FlexApp are all examples of non-Microsoft formats an enterprise might require. 

 For developers, packaging in these formats adds a whole new layer of complexity to the CI/CD pipeline. 

Therefore, the creation of application packages in modern formats often falls outside the CI/CD remit, where the task is instead picked up by a packaging engineer. And here’s where the last hurdle stumble occurs, as the process of creating this app package is time-consuming and usually involves a level of back and forth between the developer and the packaging engineer to get it right. 

 

 Integrating Packaging in Modern App Formats Into the CI/CD Pipeline 

 The solution is to integrate the process of packaging the application with the incremental code change into a modern app format inside rather than outside the CI/CD pipeline. In other words, assigning the responsibility to the person or team who are the subject matter experts, i.e., the developers. Developers need the right tools, however, as a central component of the CI/CD approach is automation. That’s where a product like Access Capture can be utilised. 

 With Access Capture, developers can automatically package the application in whatever format the enterprise requires after the binaries are compiled. A new virtual machine (VM) can then be spun up by the developer to conduct the required tests. 

In fact, Access Capture’s testing capabilities can even be used earlier in the process to test the new code on a clean VM. This is a better option than testing code on machines that are not well managed and contain files or other installations. If developers use clean machines to test code, Access Capture’s ability to automatically create clean VMs on demand can make it easier to manage code testing environments. 

 

Benefits Summary 

 Integrating application packaging and testing in modern app formats into the development cycle, including CI/CD pipelines, brings a range of benefits: 

  • Speeds up the process as the back and forth between developers and packaging teams is significantly reduced and often eliminated. 
  • Developers can use clean virtual machines to test their code before compiling binaries AND after the required application packages have been created. These tests are also documented with evidence if required for future investigations, audits, or reviews. 
  • The enterprise is better served as users get access to the updated application without delay. 

 

A New Approach 

Technology limitations and differing priorities have traditionally kept application development and app packaging creation/testing separate, especially when modern application packaging formats are involved. With Access Capture, the required automation technologies are available. What is required now is an alignment of priorities to integrate app packaging in any format into the CI/CD pipeline.