A
A
Andrey Salnikov2018-07-18 17:22:28
Django
Andrey Salnikov, 2018-07-18 17:22:28

What is the best way to deploy a project to a server?

There is a project that two people are working on. One for windows and one for ubuntu. There are also VPS under ubuntu. According to an article on the Internet, they deployed with nginx, supervisor, gunicorn. After some time, I came across an article that the supervisor is not very good, and it is better to use systemd. And I also saw recommendations for using docker, so that there would be no problems with different systems and it seems to help when deploying.
Accordingly, the question is - which stack is better to use in team development like ours? In the future, the number of people working on the project will also increase.

Answer the question

In order to leave comments, you need to log in

5 answer(s)
E
EmachinesDIMA, 2018-07-18
@Shshzik

systemd init - read.
generally has heaps of dependencies. and not always good practice. only if you don't have the right skills.
how can docker help you? docker yes. each container has its own environment. do you need versions? use virtualenv.
and it is not entirely clear about working on projects for different operating systems. cross-platform?? wow. decide on one.
1. maintain clear documentation on deploying the necessary environment on the chosen platform
2. use git
3. decide to deploy the environment using containers - well, this is convenient.
for team work, 1 and 2 points are enough.

S
Sergey Gornostaev, 2018-07-18
@sergey-gornostaev

Which http or wsgi server to use, as well as which process control system to choose, is mostly a matter of taste. I have Nginx + uWSGI. Production releases are pulled from the version control turnip. And the docker is completely unnecessary here.

T
tema_sun, 2018-07-18
@tema_sun

I don’t understand why Docker is shoved into every second landing page or micro store. Ok, well, you work under Windows (this is how I work, for example) - install Vagrant and run the dev server under it. Docker is an unrealistic overkill 99% of the time. Those. if you understand why you need it, then it is very good, but if it's just a tribute to fashion, then I don't even know.
Personally, I use nginx+uwsgi/gunicorn+supervisor for prod. Supervisor is not needed, but I feel more comfortable and familiar with it. I pull the code from the Git (somewhere by hand, somewhere by the factory).

O
OnYourLips, 2018-07-18
@OnYourLips

After some time, I came across an article that the supervisor is not very good, and it is better to use systemd.
supervisor used to be popular. There is no point in using it now.
docker so that there are no problems with different systems
It is not true. Plus a high level of entry. Plus, it still needs to be orchestrated for production.
Accordingly, the question is - which stack is better to use in team development like ours?
Throw away Windows. This is my favorite OS, but in the situation described, this is the most hassle-free option.
If you throw away Windows support, then docker and / or Ansible.

R
Ranc58, 2018-07-18
@Ranc58

I wrap everything in separate docker containers, and with the help of docker-compose I raise it, in my opinion it is very convenient.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question