Answer the question
In order to leave comments, you need to log in
How to properly organize the production infrastructure and development, testing and deployment processes?
Suppose that you and I are some kind of IT company that hires developers to create their web products, let them be Ruby developers (we do not keep them on the staff). Our company has its own server facilities that can be used (for hosting, testing, etc.).
As a starting point, we will use the local git server raised by our admins (for example, GitLab), since the projects we develop are closed (hired developers put a non-disclosure subscription), and a bug tracker (for example, Redmine).
From this point on, it is necessary to continue organizing the infrastructure and processes (development, commits, testing, acceptance, deployment) that are convenient for both developers and us.
Answer the question
In order to leave comments, you need to log in
So, you have a version control system, now look at autotests, unit tests, other automated testing systems, then at version storage systems / individual libraries, then at server management systems and software for them, monitoring systems, as well as the one how to connect it all, you can additionally look towards devOps
If we consider a spherical horse in a vacuum, then something like this:
the developer makes a commit in git -> git checks the syntax using hooks (if it is code), something else, if everything is ok, then the commit goes through -> some system like jenkins\bamboo\etc sees the new commit, deploys the new craft, then runs unit\smoke\other autotests -> if the tests fail, it creates a ticket in the bug tracker, if the tests pass, puts a tag\version, possibly uploads the result to a certain repository, or to some storage (such as artifactory) -> system server management (or in manual mode admin) updates the servers -> at the end - it would be nice to check what the monitoring will show and send a letter of joy to the project manager.
Something like that, but again, this is a horse in a vacuum in an ideal world. And you can also read different books =)
UPD: and here's a good article -habrahabr.ru/post/197026
You can’t take a certain theoretical company and make a theoretical production structure.
It is necessary to take a specific product, the specific requirements of the customer who pays the money, and build on this.
You can set up CI, you can breed agile processes, but the main thing is to find out the requirements of the customer and adapt to them.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question