Build, Package & Deploy

Understanding the real sense of these processes

A.G. Yogi
2 min readSep 27, 2023

In order to release an application below steps should be completed in a sequence. My attempt is to provide a simple and comprehensive explanation of building, packaging and deploying an application.

Build

Building application is to compile code or generate executables to run, test and deploy an application. The code in its raw form cannot be used to run the application.

A build environment is needed to build an application, e.g., compiler or other tools. Build can be of many types depending on the context in which it is used.
For example:

Local build is something that developers build on their local machine as soon as they write new code. While building code on the local machine, we might not be using latest versions of code because other developers are continuously adding their changes to the remote repo.

Integration build is produced when individual developer’s code changes are integrated in the repo and build together with code changes from other developers. The repo will be containing latest code changes.

Release build is the final integration build when all the previous builds have completed their testing cycle and outstandings bugs have been fixed. The release build is production ready and ready to be shipped to the customer.

Please note that when we say build, we consider only the code that can be compiled and exclude other files such as configuration (.yml, .json, etc) or database files (.db), scripts and documentation.

Package

Packaging an application is to package all important pieces of an application targeted for a release. This includes the build and other items like shell scripts, config, database or documentation files. This draft package goes through various kinds of testing until gets validated for release. New changes keep on getting incorporated and in the end, release package gets finalized.

The application is packaged to initially deploy in test and staging environments where it is tested thoroughly, and all the defects are fixed before releasing the application. Finally release package becomes ready to be deployed in the production environment where we have to be 115% sure that application won’t crash. Release package also contains release notes and test reports.

Deploy

Deploying an application is to install the release package in the production environment. Release notes, test reports, installation plan, backout and recovery plan are thoroughly reviewed prior to the installation. An approval is needed from the stakeholders to install the release package on production environment. After installation of release package on production, it should be validated.

I hope my explanation on above 3 steps will provide you more clarity on software development processes.

Congratulations in advance!! for building solid basics to CI/CD journey.

Thank you for reading till the very end 😊. Follow me for more updates.

AG

References:

ABCs of BPD (Build, Package, and Deploy) | CMCrossroads

--

--

A.G. Yogi

This profile is all about life of a Software Developer.