At the moment, the project has dev server and each developer has its own local environment close to the real one.
How does the deployment to the master server go to the server and git pull is not done?
You basically asked about the delivery of files to the server ( git pull can do just that). In the case of a simple web application, this is enough, provided that you have a snowflake server and you configure it with your hands anyway.
As soon as the application becomes a bit more complicated, simple file delivery becomes insufficient. In this case, it becomes profitable to automate the deployment, to use specialized tools and phoenix servers .
I tried to briefly write about different methods and their advantages and disadvantages, but I realized that there are too many of them and all the characteristics very much depend on the task.
So here's something like a small mental map. Perhaps you have not yet thought about some issues and have not considered any of the options. I hope it helps you to make a choice, or at least see more fully the task.
So, three main questions:
What to do? What does the deployment generally consist of:
git pull on the server. Badly scaled.rsync . It scales well.How to do? What tool to deploy the application:
master or creates and pushes a new tag to the server. The server responds and uses the deployment tool.And so it is possible, but of course it is better to use some kind of Continuous Integration, for example, Jenkins or go . In its simplest form, you can configure it as a Continuous deployment .
The principle of operation is approximately as follows.
The CI configures git, polling time, server. And once every few minutes, the repository is polled for changes on some thread. And the changes poured on the test.
Source: https://ru.stackoverflow.com/questions/637352/
All Articles