Skip to main content
136 votes
Accepted

What is the purpose of a dedicated build machine?

Normally you wouldn't just have a dedicated build machine, but also run a build server on that dedicated machine. A dedicated build machine merely offers the advantage of never blocking the work of a ...
ASA's user avatar
  • 1,279
107 votes

What is the purpose of a dedicated build machine?

In addition to Traubenfuchs' answer, you have hinted at another reason for a build machine in your question. Just because the software builds on your machine, it doesn't mean that it will build on ...
Simon B's user avatar
  • 9,646
105 votes
Accepted

Is it best practice to deploy a project to the server file by file manually?

Which is best practice? to manually deploy one project artifact each deployment or keep doing the file by file deployment? Neither. Best Practice is to automate your deployment, completely and ...
Phill  W.'s user avatar
  • 13k
87 votes
Accepted

Are the development benefits of using Docker negated when using Java compared to other languages closer to Unix binaries?

Not at all. Imagine you're running the version 1.8.0 of Java on both your development machine and the server. By the way, you're working simultaneously on two projects, both using Java. One day, a ...
Arseni Mourzenko's user avatar
77 votes

What is the best way to record in git which commit is currently deployed to which environment?

This is not a problem that version control was meant to solve. Recording which commit is deployed to which environment is an artifact of the build process. If using an automated tool for build and ...
Greg Burghardt's user avatar
54 votes

What is the purpose of a dedicated build machine?

The main reason for having a dedicated build machine is to get consistent builds regardless of who is doing the build. Developer workstations are rarely (read: never) identical. It's hard to know ...
JimmyJames's user avatar
  • 28.4k
54 votes

TODO comments with deadlines?

This question is really two questions in one. Todo comments Of all the ways to track action items, this is the worst. TODO comments are good during active work or as a way of suggestion to a ...
Brandon's user avatar
  • 4,575
35 votes

Are the development benefits of using Docker negated when using Java compared to other languages closer to Unix binaries?

You rarely just deploy a "Java App". Your java application has a lot of different support programs around it. We use Apache HTTPD, Apache Tomcat, ActiveMQ for messaging, an FTP Deamon, MySQL and a ...
Bill K's user avatar
  • 2,739
24 votes

TODO comments with deadlines?

Do not use TODOs. You already have a TODO list in your project. It's called the issue tracker. I think the real problem is in this sentence: we can create a ticket in our issue management system, ...
Jens Schauder's user avatar
20 votes
Accepted

Should minified CSS be stored in Git?

"It depends." For normal development tracking, no. For cloud and DevOps deployments, however, it's often convenient, or even required. Most of the time, @ptyx is correct. Indeed, his "no" could be ...
Jonathan Eunice's user avatar
19 votes

Should minified CSS be stored in Git?

No. Source control should only contain source. If it's generated from source, it doesn't belong there - and should be generated by your build process. The fundamental reason you don't want to source ...
ptyx's user avatar
  • 5,861
19 votes

What is the purpose of a dedicated build machine?

The other answers quite correctly noted that you should automate the build, which means it isn't necessary to walk to another office. However, let me propose a certain number of steps you could take ...
juhist's user avatar
  • 2,579
16 votes

What is the purpose of a dedicated build machine?

... instead of getting an actual machine in our office to use, we're having to share a single machine with several other groups ... You say that like it's a bad thing. You now have a common build ...
Phill  W.'s user avatar
  • 13k
16 votes

Can you do continuous deployment with junior programmers?

Why not? Any of the things you describe would be a problem whether you use continuous deployment or not. The problem, it seems, is that you are worried the juniors will make a catastrophic mistake. ...
Becuzz's user avatar
  • 4,835
14 votes

Is it best practice to deploy a project to the server file by file manually?

Manual steps take a lot of effort and are risky: you might forget a necessary file. Maybe not everyone in your team knows which files need to be copied. All of these issues make deployments big, ...
amon's user avatar
  • 135k
13 votes
Accepted

Is my app version a sensitive information

A version number is a minimal hindrance to an attacker and a great help to defenders. Frequently, attackers will just try an exploit without bothering to check a version number. I get several ...
Karl Bielefeldt's user avatar
13 votes

How to apply environment specific changes within the classic Git branching model?

Git is not suitable for managing different variants of your code. Git is not a deployment mechanism. Git is just a source code management system. One thing that gets lost when using git push as a ...
amon's user avatar
  • 135k
13 votes
Accepted

Deploy C#/C++ binaries incrementally by patching the difference

You are looking for a tool that can calculate, transfer, and apply binary diffs. You cannot transfer just modified files, since all files will be modified. However, most parts within the files will ...
amon's user avatar
  • 135k
12 votes

What is the best way to record in git which commit is currently deployed to which environment?

Don't record this kind of metainformation in the same git repository as your project. Record it in a separate git repository whose history is the history of deployed revisions. In its simplest form, ...
R.. GitHub STOP HELPING ICE's user avatar
11 votes
Accepted

Easy Licensing enforcement techniques for C++ Program in Windows

Realistically, there are none. If you make a hash based on the user's hardware, then when they upgrade a hard drive or CPU or network card, or heaven forbid buy a new computer, the software stops ...
user1118321's user avatar
  • 4,991
11 votes

Terminology: Blue-Green deployment

The point of the “blue–green” terminology is that there is no permanent hierarchy between these environments. Either environment may currently have the role of the production system, with the other ...
amon's user avatar
  • 135k
10 votes
Accepted

What is the difference between software deployment and software release?

I don't think the terms release" and "deployment mean exactly the same, thing I'm not sure they should be used interchangeably like that. From a web development perspective: Deployment refers to ...
FrustratedWithFormsDesigner's user avatar
10 votes

Deploy C#/C++ binaries incrementally by patching the difference

I suggest rsync. Using rsync you don't need to correctly reimplement vast majority of fuctionality like diff algorithm, working with files, network protocol to transfer data and so on. Currently we ...
gapsf's user avatar
  • 216
9 votes
Accepted

Java Properties Files for Both Operations and Developers

Use a tiered approach (not all tiers are necessary): Load base properties from classpath. Override with properties from /opt/app/conf, IFF such a file exists. Override with properties from $HOME/app/...
kdgregory's user avatar
  • 5,260
9 votes

TODO comments with deadlines?

What I'm looking for is a way that a TODO comment can have a deadline against it, and our Continuous Integration system (current undecided which we'll use) would reject the build if this deadline was ...
candied_orange's user avatar
9 votes

Are the development benefits of using Docker negated when using Java compared to other languages closer to Unix binaries?

This question would also be pertinent for golang, where you can just extract statically linked binaries and run them somewhere, as opposed to Python or C++ where you usually have a large number of ...
Yannick's user avatar
  • 99
9 votes

Is it best practice to deploy a project to the server file by file manually?

Best practice would be to implement an automated process of some sort. Be careful to check that there isn't a special reason for the 'file by file' approach which you would have to take into account.
Ewan's user avatar
  • 78.5k
9 votes

What is the origin of "deployment environments" (dev/test/staging/prod)?

The environments of Development, Test, Acceptance and Production evolved out of necessity, pragmatism and convenience. In other words, they exist because they make sense. The origin of these ...
Robert Harvey's user avatar
8 votes

Terminology: Blue-Green deployment

You could trust my answer over ones that disagree with it simply because of the votes it receives but I think I owe you more than just giving the correct answer. I'll show evidence that it's correct. ...
candied_orange's user avatar
7 votes

Blue Green Deployment With Single Database

Load Balancer For the second point, use a suitable load balancer. You can shift a portion of the traffic across, first to prove the new deployment, then to slowly ramp it up. It also allows a quick ...
Kain0_0's user avatar
  • 16.3k

Only top scored, non community-wiki answers of a minimum length are eligible