Answer the question
In order to leave comments, you need to log in
How to properly organize bitrix + svn development?
Hello!
Interested in how knowledgeable and experienced people organize the development of bitrix + svn. (Of course, I understand that knowledgeable and experienced people do not work with bitrik, but still)
I found one article on Habré habrahabr.ru/post/189630 , but after the words "The project takes about 80GB on the disk" and "I tried to remove the pictures and video from version control - did not work" realized that I had gone in the wrong place.
I think to organize as follows:
1. Have two projects (one combat, the second test), which will be tied to one repository.
2. Each of the projects is respectively connected to the combat and test site.
3. I.e. the process itself: make changes on the test site -> commit -> update the combat project -> upload to the combat site
But what about a bunch of immutable files or Bitrix core files? Just put ignore on commits?
And how good is the way to connect multiple developers using NFR keys, as suggested in the above article?
Answer the question
In order to leave comments, you need to log in
Ignore the article. The person did not even master the built-in Bitrix backup system and offered to do everything that she can do herself, but with her hands. What else is there to add? And, yes - they have a complete set of certificates - this should already be alarming. But the comments are worth reading there - there are useful ones.
All the problems described about 80GB are not worth a damn. There, from 80GB to 79GB of pictures that you drag into the project, it is not necessary and even harmful and dangerous. Keys are also not needed. Close the development servers so that they do not stick out to the network and that's it. Nobody will say a word to you.
You missed the biggest problem of any web project, not necessarily Bitrix - how to make changes to the database? Well, let's say you made a module with reviews and for it you needed to add 2 properties to products. You commit it to the site and what? You will have to go and manually create these fields in the admin panel. Or write a script for each commit that will create them. Think about it better.
I would stop at the script. But not a SQL query, but a script for creating fields through the Bitrix API.
Otherwise, your scheme is more or less correct.
Well, first of all, you need to use git after all, it’s not 2005.
Secondly, it’s enough to add a folder with media files to git ignore
Use git and git flow to separate production and development branches.
Use something like this
.idea/
bower_components/
node_modules/
vendor/
composer.lock
*.sh
.keep
db/*-production.sql
logs/
tmp/
www/sitemap*.xml
www/bitrix/site_checker_*.log
www/bitrix/cache /
www/bitrix/catalog_export/
www/bitrix/html_pages/
www/bitrix/managed_cache/
www/bitrix/modules/serverfileerrorlog.dat
www/bitrix/modules/serverfilelog-*.dat
www/bitrix/modules/updater.log
www/ bitrix/modules/updater_partner.log
www/bitrix/stack_cache/
www/bitrix/tmp/
www/bitrix/updates/
www/upload/*
!www/upload/watermark.png
.gitignore, so as not to drag the cache, all pictures and other uploaded files in the repository, but still drag some files.
Connect Selectel Storage or any other cloud storage (S3 or OpenStack compatible) in the site admin panel and allow its use as widely as possible; preferably, all modules without exception. This way you will get the same downloaded files on the test and production servers, but without cluttering up the repository.
Keep all your development (settings, modules, templates, components) in / local / (in the documentation and on the 1C-Bitrix forums it is described in detail why this is necessary).
/bitrix/ DO NOT exclude from the repository, contrary to the recommendations there. In Bitrix, updates regularly come and it's better to look at git status and git diff before committing and uploading them to the production server.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question