How to automate the deployment process?

Asked

Viewed 375 times

2

Using Jenkins, to get changes to a branch and send immediately to production what are the ways to build the server infrastructure?
I mean, there is another possibility to do this besides owning more than one machine, "divert" the requisitions and take down only one of the machines to be able to deploy?
What the database looks like?

  • 1

    Hello, Daniela. Unfortunately I think this question is really very broad. There are many ways to build a continuous integration infrastructure. It is not something trivial, it depends on the project, the team, the company, the technologies. There is no way to answer the question completely without writing a book about Continuous Integration with Jenkins. My suggestion is to look for books or tutorials to build a basic infrastructure and then add more complex things like deploy in clusters. Setting up CI is not a task for a starting developer. Many companies will have someone dedicated to it.

  • 1

    But we must specifically answer your question about updating more than one server with "bypass". Yes, this is not only possible as it is done by agile companies. My current colleague here at the company worked at UOL in São Paulo and we already talked about the infra of there. They have 6 servers in clusters, but they don’t update all automatically. After the system version is published on the CI server, they update one of the servers for quality testing, diverting normal users to the other 5. Then, they put in two of the six and release only to some users.

  • 1

    @utluiz Really. It’s very curious to know how it works in large companies, thank you for sharing. I found this link that describes a bit of Facebook and Netflix, if anyone is interested: http://blog.octo.com/pt-br/os-padroes-dos-gigantes-da-web-o-zero-downtime-deployment/ http://blog.octo.com/pt-br/os-padroes-dos-gigantes-da-web-deploy-continuo/

  • 1

    If there are no occurrences, then deploy is done on the other servers. Each step is triggered manually, but the whole process is automated. This way they can work 24/7 without interruption. The difficulty to reach such a level is that it is not enough to just configure a Jenkins, but the whole company needs to absorb the process, from the planning of new Features up to the user acceptance test and QA.

  • Very good, Daniela! You are going the right way. There is a lot of good material available on the Internet. You just need to dig a little, dedicate yourself to reading, researching the points you don’t know yet and combine all this with practice, implementing prototypes and testing the tools.

No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.