Skip to main content
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
7 votes
Accepted

How do you manage development-only files in your source control?

Solve the issue at deployment time. As in, your production branch has all the dev configs and such. When you have a tool building and deploying your code, that re-configures your application to run ...
Delioth's user avatar
  • 444
6 votes

How to organize projects in AWS?

AWS Organizations is the standard approach to managing a hierarchy of accounts. However, it does not allow billing to be consolidated at arbitrary points in the organization; it's a tree, not a graph. ...
guest's user avatar
  • 131
5 votes

How do I merge branches between Develop - Test and Production without moving across 'test' specific code?

You kind of answered your own question - these are config settings, and therefore belong in a configuration file (that's not promoted between dev/test/production). In my opinion, code should never ...
Dan Pichelman's user avatar
4 votes

Same dev env setup across multiple machines - aka fixing "but it worked on my machine"

Use relative paths Script the installation of tools (use specific versions) Use a package manager (eg, NuGet) to ensure everyone uses the same libraries If you go down the Docker route, have local ...
MetaFight's user avatar
  • 11.6k
4 votes

Saving a website of 30 pages in one piece to view offline (but with CSS and JS in place)?

Tools like wget can spider the site and capture all the static content. If you have dynamic content based on forms, javascript or other technologies it is likely impractical to do easily. It may be ...
BillThor's user avatar
  • 6,310
4 votes
Accepted

Monolith to microservices - Staging / UAT environments

While things are hybrid If your monolith is difficult to deploy, requires a lot of resources, or has licensing costs even for development environments; then you'll need to limit the number of ...
Berin Loritsch's user avatar
4 votes

How do I merge branches between Develop - Test and Production without moving across 'test' specific code?

If I got you right, I see one major issue in your team's workflow: You are using Git for deployment directly. That is not what version control systems like Git are designed for, and even if a ...
Doc Brown's user avatar
  • 220k
4 votes

How does one reliably test core Linux software (like package managers, UNIX utils, desktop environments, kernel modules, etc.)?

You typically use a test environment that can easily be reset or rebuilt to a good state. There are different possibilities: Dedicated real machines (normally required for testing drivers), virtual ...
Hans-Martin Mosner's user avatar
3 votes

What to consider in choosing an approach to dev environment creation for existing production system?

It might help to think of it as two different tasks - (a) the creation of a new development test environment and alteration of deployment practices, and (b) testing and implementing an OS upgrade of ...
Steve's user avatar
  • 12.6k
3 votes

Same dev env setup across multiple machines - aka fixing "but it worked on my machine"

"You've just taken your first step into a larger Universe". It's not all about Development and Developing (even if that is the "fun" part). Now you're starting to think about what comes next: ...
Phill  W.'s user avatar
  • 13.1k
3 votes
Accepted

How to abstract my development environment from external depencies

As a first option, I would try to create an alternative API provider for the Email service, which doesn't really send a email but rather prints the relevant information to a file or the console (in a ...
Bart van Ingen Schenau's user avatar
3 votes

How to abstract my development environment from external depencies

In testing, you should give yourself the capability to "mock out" the email-sending functionality, so that you can write the email text elsewhere, without actually having to send them.
Phill  W.'s user avatar
  • 13.1k
2 votes

Saving a website of 30 pages in one piece to view offline (but with CSS and JS in place)?

It's not a straightforward task at all. If it were just HTML and CSS it would be easy, but modern websites have state--lots of it. Here's a general idea that may work: User inputs address of site to ...
Samuel's user avatar
  • 9,247
2 votes

Mocking APIs: Keeping mock data up to date?

Having mock data on hand that comes back from the API is a great way to maintain control over a local testing environment. It's not clear from your question exactly what purpose you are using the ...
joynoele's user avatar
  • 186
2 votes

How can I maintain bash functions without brittle escaped newlines?

This has nothing to do specifically with functions - any kind of shell programming that involves long command lines is susceptible. One helpful practice is to use set -e in your scripts, so that ...
Kilian Foth's user avatar
2 votes

What is the Software Engineering equivalent of a traditional Engineering Change Order (ECO)?

There are companies that develop software and maintain servers with an explicit change order process. It may literally be called a change order. There are banks where you require a physical signature ...
pjc50's user avatar
  • 15.3k
2 votes

1 Central Development Server vs. Individual Workstations

There are advantages to the RDP solution for the company, as well as the individual developers. As a developer, it doesn't matter where you are, you always have the same desktop and development tools ...
Menno Hölscher's user avatar
2 votes

1 Central Development Server vs. Individual Workstations

I've worked in a similar yet even weirder environment (each developer working inside a VM which was hosted on their own workstation). The reason for this was that corporate IT wouldn't let the ...
Jack Scott's user avatar
  • 1,374
2 votes
Accepted

How to promote code to different environments in GitFlow branching strategy

Decoupling branching and deployment In git, every commit has a unique hash, branches and basic tags simply point to a commit hash, hence it is reasonable to develop environment deployment script(s) ...
DavidT's user avatar
  • 4,629
2 votes

Ideal design for reusing data across different environments

The ideal would be to have some test weather data which covered all possible test scenarios for your software. Rather than pull live data and replicate it, create your own set of weather data and mock ...
Ewan's user avatar
  • 84.4k
1 vote

How does one reliably test core Linux software (like package managers, UNIX utils, desktop environments, kernel modules, etc.)?

The answer to the question is not really OS-dependent, but at the same time, it is. For example, on Linux, you can test the window manager, and if it breaks, you don't have to reboot, whereas on ...
coteyr's user avatar
  • 2,583
1 vote

What is the Software Engineering equivalent of a traditional Engineering Change Order (ECO)?

What is the Software Engineering equivalent of a traditional Engineering Change Order (ECO)? Whenever I see a sentence that compares "Software Engineering" with "Engineering" or &...
Jörg W Mittag's user avatar
1 vote
Accepted

Service changes for local development environment

Invert your dependencies: make the external service into a plugin to your application. Then, attach different implementations depending on whether you're running in a production environment or a ...
amon's user avatar
  • 136k
1 vote

Service changes for local development environment

Depending on what purpose the external services serve in your application, you may enable/disable them via some configuration. For optional services this may even prove useful in production ...
Hans-Martin Mosner's user avatar
1 vote

Same dev env setup across multiple machines - aka fixing "but it worked on my machine"

So we need a setup where each machine is "the same" No you don't. You need a build server and a dev/test environment. Get Team City and have it build every check in to the develop branch. If the ...
Ewan's user avatar
  • 84.4k
1 vote

How to scale developers environment?

It sounds like you're thinking of writing new service-specific code for this proxy/stub. That's not what that article was talking about. It should be as much like production as possible, only your ...
Karl Bielefeldt's user avatar
1 vote

How can we keep track of which version of our code is in each environment?

Hopefully you have some file or description field. If so you can use git-describe(1) in the filename or description. Then (with annotated tags) you will get: just the tag name if it is on the tag; or ...
Guildenstern's user avatar
1 vote
Accepted

Is there an IDE for python that creates the same kind of reflective environment that Smalltalk provides?

In the early 90s, IBM started pushing Smalltalk as the future replacement for COBOL. This lead to VisualAge Smalltalk, a very nice Smalltalk implementation (still available in 2025 if you have money). ...
Zoot's user avatar
  • 26
1 vote

Good, simple reasons for having multiple environments

Sounds like you have to many different environments and it is costs people to much time to setup an "environment". You should have the least number of different "environments" that you can get away ...
iheggie's user avatar
  • 111

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