2022 Developer Survey is open! Take survey.
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 ...
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 ...
user avatar
  • 8,560
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 ...
user avatar
  • 11.6k
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 ...
user avatar
73 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 ...
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 ...
user avatar
  • 22.1k
53 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 ...
user avatar
  • 4,529
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 ...
user avatar
  • 2,690
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, ...
user avatar
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 ...
user avatar
  • 2,338
18 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 ...
user avatar
  • 5,801
17 votes

Should I deploy 32-bit only or both 32- and 64-bit versions for Windows?

I really don't think its a huge complexity for the end user to have to select either a 32bit or 64bit option when downloading. But if you can use the user-agent strings to make a suggestion all the ...
user avatar
  • 37.8k
17 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 ...
user avatar
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 ...
user avatar
  • 11.6k
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. ...
user avatar
  • 4,795
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, ...
user avatar
  • 123k
13 votes
Accepted

ASP.NET deployment/maintenance best practices

ASP.NET MVC applications are compiled. This means that you can't just upload the changed files, like you do with a PHP website, for example. This also means that when you'll start to update the site, ...
user avatar
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 ...
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 ...
user avatar
  • 123k
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 ...
user avatar
  • 4,921
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 ...
user avatar
  • 123k
11 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, ...
user avatar
10 votes

How do you handle versioning in a multi-sided project?

As you can't control when the mobile apps will be updated to a new release, you need to version at least your REST API. If you don't it will be impossible to make backwards-incompatible changes to ...
user avatar
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 ...
user avatar
9 votes
Accepted

Deployments, another unsolved problem in software engineering

Dependencies. Take a very simple Python application. I can distribute it as a script. It will work on some machines, and won't work on others, because the script is using Python 3 and those machines ...
user avatar
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/...
user avatar
  • 5,180
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 ...
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 ...
user avatar
  • 99

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