Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Difference between build and deploy?

What is the difference between a build and deploy and re-deploy? What should be done when you just have some HTML changes and no Java code changes? Should I do a build and deploy or just a re-deploy?

like image 781
pushya Avatar asked Jun 21 '11 15:06

pushya


People also ask

What is build test and deploy?

Test… Build… Deploy cycle; a structured progression of work steps from developing code to testing that code, to building a release version of that code, which is then deployed in a production environment.

What is build and deploy in Jenkins?

Jenkins provides many plugins which can be used to transfer the build files to the respective application or web server after a successful build, for example, the "Deploy to container" plugin. This plugin takes a war or ear file and then it deploys to a running remote application server at the end of a build.

What is software build and deployment?

To summarize, a software release is a specific version of a code and its dependencies that are made available for deployment. Software deployment refers to the process of making the application work on a target device, whether it be a test server, production environment or a user's computer or mobile device.


1 Answers

Disclaimer: Defining what build and deploy means is very subjective.


I will start with deploy. Deploy should mean take all of my artifacts and either copy them to a server, or execute them on a server. It should truly be a simple process.

Build means, process all of my code/artifacts and prepare them for deployment. Meaning compile, generate code, package, etc.

That helped? Some people do consider deploy as part of the "build process" which I don't really argue with because generally in order to test or run you have to deploy it somewhere.


The rule is generally if it is dynamic code, then you need to do a build/redeploy.

If you are just editing static html, css, images etc. then you can simply just patch (and preferably a server restart).


As always when "patching" there is added risk that you could not be deploying the entire code base, or someone could do it wrong.

Personally I like doing full build/redeploys because you always know you are in-sync with your source control. However there is always risk that deployments go bad, either the build part or the install part. If your builds take a long time, or you are unnecessarily having to deploy a lot of moving parts, then consider either breaking them down into smaller deployable components or create a more complete deployment plan.

As usual there is no silver bullet here.

like image 81
Nix Avatar answered Sep 21 '22 10:09

Nix