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
  • 12.2k
54 votes
Accepted

Why deploy to the development environment?

You deploy to dev because you can't actually do real integration testing without actually really running the code. You can call the environment something else like Staging, but if it's the lowest non-...
Ryathal's user avatar
  • 13.4k
22 votes
Accepted

Keep branches from piling up

It sounds like you have a few problems here: 1. Identifying features for a specific release This is a project management issue, and a coordination issue. Will this feature be released before, at the ...
Jen's user avatar
  • 693
19 votes

DevOps means developers now take responsibility for infrastructure and release - but what are the drivers behind this change?

The main reason is the cloud. It used to be that your code got shipped on floppy disk, and then CD, and then it got deployed to a server, and then it got deployed to two servers (for resiliency)... ...
Telastyn's user avatar
  • 109k
15 votes

DevOps means developers now take responsibility for infrastructure and release - but what are the drivers behind this change?

There are lots of different reasons for various organisations to move to DevOps. I'll try to list the ones that come up often. Reduce time to change cycle There is often a long time between making a ...
Miguel van de Laar's user avatar
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
  • 134k
14 votes

Why deploy to the development environment?

Often, the tests that are run as part of a build are done in a clean environment. The build server establishes a new database, and the tests are responsible for seeding the necessary data for test ...
Thomas Owens's user avatar
  • 82.7k
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
  • 134k
12 votes
Accepted

Should testers have root access or not, on personal VM, given that developers do?

The situation looks pretty simple to me: people need the tools to do their job correctly. If they need root access, they should be given root access and they should be trusted (and trained, if ...
Bryan Oakley's user avatar
  • 25.3k
12 votes
Accepted

What is the value proposition of "build, release, run"?

I think this is probably best described by stating the bad practices it would seem to be trying to avoid. I can remember the old days when these were common practice. But with modern 'dev ops' tools ...
Ewan's user avatar
  • 75.6k
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

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
  • 75.6k
9 votes
Accepted

Why the devops pipeline reads "Code, Build, Integrate, Test"..why build is second?

I write some code, then I build it (compile it) then I run the tests. This happens on my local machine. That's the "code & build" phase in that diagram. Then I check my code in to a central ...
David Arno's user avatar
  • 39.3k
9 votes

Is trunk-based development viable for SDK development?

Yes. In fact, the branch for release strategy is specifically designed for this case. For as long as your application, library, framework, SDK, package, etc. needs to be supported, you have a long-...
Thomas Owens's user avatar
  • 82.7k
8 votes
Accepted

What is the scope of a DevOps team?

Be careful! Without proper guidance from technical leadership, DevOps "teams" can end up being janitors, responsible by default for any/everything that isn't explicitly someone else's responsibility ...
Dan1701's user avatar
  • 3,118
8 votes
Accepted

Is there a "DevTest" or "DevQA" equivalent to "DevOps"?

Terms like DevOps are subject to the whims of enthusiastic marketing and consultancy folk and all too quickly become "must have" buzz words. But underlying it is a simple concept: infrequent, "big ...
David Arno's user avatar
  • 39.3k
8 votes

How do I encourage ops to participate in a devops team?

Don’t shoot… I come in peace ;) I can relate to the other side of the coin as I used to be one of those Operations People. Just imagine that you(the Dev) are being pulled into Operation meeting ...
MMT's user avatar
  • 199
8 votes

What's the proper order of stages in a CI build?

There is no proper order. What is good for one repository is bad for another. The proper order is the one that makes the most sense for your code base. This might mean: several pipelines keeping on ...
Kain0_0's user avatar
  • 16.2k
7 votes
Accepted

What is the method to identify bottlenecks in a software engineering programme?

One method to identify the most important bottlenecks is to make it visible what stages the work items go through. As a start, try to follow a couple of work items (new features, bugs, improvements, ...
Bart van Ingen Schenau'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.2k
6 votes

Should testers have root access or not, on personal VM, given that developers do?

While root/admin access to the machine may be useful for setting up the environment, tests should be run in a way the "normal" user of the product does. In most cases, this will mean that a "normal" ...
Bernhard Hiller's user avatar
6 votes

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

With Continuous Delivery (or Deployment, actually) and moving each file by hand, you're looking at the two extremes. It's perfectly understandable that you can't/don't want to create a fully automated ...
GuilleOjeda's user avatar
6 votes

How does DevOps apply to packaged software?

Lets start by separating out a few terms: DevOps A movement to bring Development and Operations together to help break down the barriers between departments and share skills and knowledge. Closely ...
Liath's user avatar
  • 3,426
6 votes

Is it reasonable for DevOps to insist on 2 branch only integration?

The role of DevOps is to enable self-sufficiency among developers, not to take on all of the work yourself. I believe you are right in encouraging developers to use feature toggles but unreasonable ...
Dan Wilson's user avatar
  • 3,103
6 votes
Accepted

What should my next SemVer version number be?

Use version 3.10 since it is a backwards-compatible new feature. Semantic versioning does not limit you to only 10 revisions of a particular major/minor version. I'm using version 1.73.0 of VS Code ...
mmathis's user avatar
  • 5,478
6 votes
Accepted

Microservices: separate db instance vs. separate db server

Let's step back for a second and consider why separating the databases is important for a moment. The idea behind this is to reduce the shared dependencies between microservices. This has a number ...
JimmyJames's user avatar
  • 27.3k
5 votes

How to be a good team member and push the team towards new paradigms and technologies at the same time.

Some things like DevOps really are just buzz words, and even groups that don't do "DevOps", really do indeed do large chunks of it. For example: do you have a code repository? Do you run unit ...
jmarkmurphy's user avatar
5 votes

How to architect a codebase for short-term contributors?

Your challenge looks very similar to open source projects, which may have several hundreds if not thousands contributors, the majority of them contributing only for a limited time. Take opensll for ...
Christophe's user avatar
  • 77.2k
4 votes

Keep branches from piling up

Here's an idea, Stop using release branches. Instead, start building in feature toggles and manage it via configuration. That way, you're always merging feature branches into master and there should ...
RubberDuck's user avatar
  • 8,961
4 votes

How can a devops-team correctly prioritise fixing incoming issues versus building new code?

If you're working in a structure like this, how do you establish what to prioritise, what to defer? The same way you prioritize anything else: you always pick the action that maximizes the benefit ...
DepressedDaniel's user avatar

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