Only recently I understood what continuous deployment and integration are. And now I want it. But the question arose: what is best to choose for this. The task is as follows:
- The continuous integration tool reacts to the hook with the git repository after the next push and cuts the build. He should pull up all the compositing packages, run the preparatory commands and start. Then he runs through all the tests, checks the style of the code, etc.
- In the case of a successful build, a request is thrown (suppose POST) to another (or the same) server on which the deplorer is located.
- Deploer should be able to at least work with the compositor and run console commands.
- The situation is such that in the release folder there may be necessary files that are pulled from release to release. For example, images to posts. And they should be preserved.
I found this and it seems to be quite good for continuous integration. I want tools that can
- Work with multiple projects
- You can fine tune everything
- Configured through a web interface (optional, but very desirable, especially for continuous integration)
- Support for the configuration file for each project (as in travis
.travis.yml
) - Again, the lower the requirements, the better. If the tool can work on pure PHP and MySQL and using the shell, this is a big plus.