Перейти до основного вмісту
Головна
нотатки кодера

Navigation

  • Головна
  • Про мене
  • Портфоліо
User account menu
  • Вхід

Рядок навіґації

  1. Головна

Використання Subversion для підтримки TYPO3

від vetal, 6 жовтня, 2013
Категорія
Адміністрування
  • Щоб додати коментар, увійдіть або зареєструйтесь

SubversionЗазвичай, коли виходить оновлення TYPO3, адміністратор повинен завантажити файли, а потім розпакувати їх на сервері. Цей посібник пояснює альтернативне рішення, котре використовує Subversion для цієї задачі.

Для кого цей посібник?

Цей посібник пояснює, як підтримувати встановлені копії TYPO3 оновленими за допомогою простих команд Subversion. Вона написана для адміністраторів серверів, які хочуть використовувати більш гнучкий спосіб оновлення своїх TYPO3 проектів.

Що таке Subversion?

Subversion це система контролю версій. Вона використовується розробниками для підтримки вихідного коду, що дозволяє зберігати всі зміни в файлах проектів. 

Докладну інформацію про Subversion можна прочитати на сторінках Wikipedia:  
http://en.wikipedia.org/wiki/Apache_Subversion

Використання Subversion для підтримки TYPO3

Команда TYPO3 core використовує Subversion не тільки для зберігання версійності їх розробок. Вони також створюють гілки та теги для кожного релізу TYPO3. Це значить, що коли TYPO3 4.3.4 вийшла, увесь вміст гілки і тегу TYPO3 4.3 Subversion було створено з точно таким же вмістом.

Раніше, для оновлення TYPO3 на веб сайті, адміністратори мали зробити наступні кроки:

  1. Завантажити архів релізу (.tar.gz або .zip файл)
  2. Скопіювати файл на сервер
  3. Розпакувати файли на сервері
  4. Замінити стару версію (заміною папки, або символічного посилання)

(Я пропущу частину про Install Tool, тому що адміністрування релізу не буде потрібно – поглянь http://typo3.org/teams/core/resources/release-workflow/ для ознацомлення з детальною інформацією про робочий процес релізу)

Тепер використовуючи Subversion, всі ці дії можуть бути замінені однією простою командою:

svn update

(Це простий приклад. Він працює, але команди котрі ви можете для цього використовувати можуть бути й іншими. Полистайте документ щоб дізнатися, що саме потрібно для початку).

Як бачите, це дуже проста команда, що дає вам досить багато переваг:

Переваги використання Subversion

  1. Швидке та просте оновлення до будь-якого релізу.
  2. Без ризику. Хоч Subversion, головним чином, використовується як інструмент для розробників, теги є не менш стабільними, ніж версії релізу. Насправді вони теж саме, що й релізи - побудовані на основі того ж джерела.
  3. (TYPO3 розробляється на різних гілках. Pозробка нових функцій відбувається на окремій гілці, що називається “trunk”. В гілках, однак, містяться тільки багфікси котрі пройшли процес перегляду).
  4. Доступ до останніх змін розробки TYPO3 завжди відкритий і може бути отриманий будь-ким, навіть перед виходом нового релізу. Наприклад, якщо ви повідомили про помилку, і розробник відповів, що вона була виправлена в Subversion, ви вже можете оновити свій репозиторій і не потрібно чекати на випуск нової версії.
  5. Зберігання локальних змін. Subversion може сказати вам, якщо були зроблені будь-які модифікації з вихідним кодом, і вони будуть збережені під час оновлення на новий реліз TYPO3. Майте на увазі, що абсолютно не рекомендується змінювати вихідний код TYPO3. Робіть зміни коду лише якщо розумієте, що робите. Можливо відбудуться конфлікти під час оновлення репозиторію, і хоч їх легко вирішити, я не закликаю робити зміни коду, коли пишу це тут... :-)
  6. Доступ до старих версій релізів. З Subversion ви можете легко перемкнутись на стару версію ревізії. Наприклад, якщо ви помітили критичні зміни в новій версії, ви можете легко повернутися до використання попереднього релізу.

Недоліки використання Subversion

  1. Клієнт Subversion має бути встановлено. Веб сервер мусить мати встановлений Subversion.
  2. Server мусить мати доступ до мережі інтернет. Це може здаватись тупим але веб сервер може бути підключено до інтернету через проксі. Підключатися через проксі можливо, але пояснення як це зробити виходить за рамки цієї статті. Зверніться до Subversion FAQ для отримання додаткової інформації про це.
  3. Потрібний shell доступ. Для виконання послідовності дій описаних тут потрібен доступ до оболонки веб серверу. Адміністративні привілеї не будуть потрібні, хіба що для встановлення програми Subversion.

Встановлення

Попередні вимоги

Це керівництво призначено для серверів на Debian Lenny та використовує командний рядок клієнту Subversion. Все описане має працювати і на іншому сервері на якому встановлено Subversion.

Ви можете перевірити чи Subversion вже було встановлено, виконавши наступну команду:

> svn –version

Якщо не встановлено, користувачі Debian та Ubuntu можуть зробити це інсталювавши пакет “subversion”:

> sudo apt-get -u install subversion

Подібно веб серверу, Subversion містить серверну та клієнтську частину. Обидві будуть встановлені цим пакетом. Оскільки нам потрібен тільки клієнт, ви можете пропустити більшість налаштувань. Клієнт Subversion готовий до використання одразу після встановлення.

Використання

Перша перевірка (checkout)

Для початку використання Subversion вам необхідно запустити checkout вашого проекту. Для цього відкрийте термінал і перейдіть в директорію куди ви хочете завантажити вихідний код TYPO3:

> cd /var/www/typo3/ 

Оберіть потрібну версію (дивись доповнення, правила іменування) и перевірте її (checkout). Останній параметр визначає ім'я директорії звідки буде взятий вміст:

> svn checkout https://svn.typo3.org/TYPO3v4/Core/tags/TYPO3_4-4-0 TYPO3_4-4.svn 

Замініть сімлінк на “typo3_src”, вказавши щойно завантажену директорію:

> cd /var/www/www.example.com/
> ls -l
drwxr-xr-x  10 example example 4096 Jan  1 12:01 fileadmin
lrwxrwxrwx   1 example example   15 Jan  1 12:01 t3lib -> typo3_src/t3lib
lrwxrwxrwx   1 example example   15 Jan  1 12:01 typo3 -> typo3_src/typo3
lrwxrwxrwx   1 example example   30 Jan  1 12:01 typo3_src -> /var/www/typo3/typo3_src-4.4.0
drwxr-xr-x   5 example example 4096 Jan  1 12:01 typo3conf
drwxr-xr-x  10 example example 4096 Jan  1 12:01 typo3temp
drwxr-xr-x  27 example example 4096 Jan  1 12:01 uploads
lrwxrwxrwx   1 example example   19 Jan  1 12:01 index.php -> typo3_src/index.php
> rm typo3_src
> ln -s ../typo3/TYPO3_4-4.svn typo3_src
> ls -l
drwxr-xr-x  10 example example 4096 Jan  1 12:01 fileadmin 
lrwxrwxrwx   1 example example   15 Jan  1 12:01 t3lib -> typo3_src/t3lib
lrwxrwxrwx   1 example example   15 Jan  1 12:01 typo3 -> typo3_src/typo3
lrwxrwxrwx   1 example example   28 Jan  1 12:02 typo3_src -> /var/www/typo3/TYPO3_4-4.svn
drwxr-xr-x   5 example example 4096 Jan  1 12:01 typo3conf
drwxr-xr-x  10 example example 4096 Jan  1 12:01 typo3temp drwxr-xr-x  27 example example 4096 Jan  1 12:01 uploads
lrwxrwxrwx   1 example example   19 Jan  1 12:01 index.php -> typo3_src/index.php

І це все. Ваш сайт буде працювати як і раніше поки ви використовуєте ту ж версію, але зараз ви використовуєте репозиторій Subversion.

Оновитися до останньої версії

Як тільки ви отримали повідомлення що вийшла нова версія, ви можете перейти на неї. Перед тим як ви це зробите, вам потрібно дізнатись яку гілку чи тег ви зараз використовуєте, і, можливо, чи були зроблені якісь зміни в коді:

> cd /var/www/www.example.com/typo3_src/ 
> svn info
Path: . 
URL: https://svn.typo3.org/TYPO3v4/Core/tags/TYPO3_4-4-0 Repository Root: 
https://svn.typo3.org/TYPO3v4/Core 
Repository UUID: 709f56b5-9817-0410-a4d7-c38de5d9e867 
Revision: 8465 Node Kind: directory 
Schedule: normal 
Last Changed Author: benni 
Last Changed Rev: 8047 
Last Changed Date: 2010-06-22 17:35:41 +0200 (Tue, 22 Jun 2010) 
> svn status

Тут команда “svn info” покаже вам поточну гілку/тег, останню ревізію в цьому дереві, і дату останнього оновлення.

Команда “svn status” виведе список усіх файлів, що було змінено локально. Вивід цієї команди має бути пустим. Якщо ви бачите будь-яку інформацію на екрані, значить ці файли було змінено. (Виконайте “svn help status”, щоб розібратися що означають коди статусів. Можна використати “svn diff”, щоб подивитись зміни в форматі diff.)

Як раніше було сказано, перемкнутися можна за допомогою однієї команди:

> svn switch https://svn.typo3.org/TYPO3v4/Core/tags/TYPO3_4-4-1

Вивід цієї команди виведе багато змін в форматі цього рядку:

U    tests/t3lib/t3lib_befuncTest.php 

(“U” значить, що файл було оновлено /updated/, “A” значить додано /added/, “D” видалено /deleted/, і т.д. Дивіться “svn help update” для розширеного списку статусів.)

Коли перемикання завершиться, можна буде знову виконати “svn info” та “svn status” для перевірки результату.

Додаткові можливості

Можна також перемкнутися на гілки, де було зроблено теги. Така можливість дає більшу гнучкість, т.я. дозволяє отримати доступ до ще не випущених оновлень:

> svn switch https://svn.typo3.org/TYPO3v4/Core/branches/TYPO3_4-4 

Процедура перемикання на гілку така ж, як і та, що згадана вище.

На гілці, ви можете використовувати команду “svn update” для перемикання на стару ревізію, дату, чи на поточну версію (котру увімкнено за замовчуванням):

> svn update -r 8046 

Оновитися на ревізію 8046 (це ревізія на котру посилається TYPO3 4.4.0).

> svn update -r {2010-06-23} 

Оновитися на дату 23 липня 2010 (день після того як було випущено версію 4.4.0).

> svn update -r 8431

Оновитися на ревізію 8431 (це ревізія на котру посилається тег TYPO3 4.4.1).

> svn update -r HEAD 

Оновлення до HEAD (“-r HEAD” можна не писати, т.я. це буде обрано за замовчуванням). HEAD завжди поточний стан гілки, і стане наступною версією, як тільки менеджер релізів вирішить створити новий реліз... Таким чином, після анонсу нового релізу, “svn update” на гілці TYPO3_4-4 (перевіряємо командою “svn info”) дасть вам майже той самий результат, наче ви перемкнулися на гілку. (тут “майже” тому що номер версії буде негайно оновлено коли реліз відбудеться. Ви помітите це тільки в заголовку вікна браузеру при роботі в інтерфейсі бекенду.)

Важливо: Пам'ятайте, що команда “svn update” застосовується тільки до того тегу чи гілки, на котру(ий) ви вже знаходитесь чи тільки що перейшли. Якщо ви знаходитесь в tags/TYPO3_4-0-0 тоді HEAD та r8431, очевидно, не те ж саме що HEAD в branches/TYPO3_4-4. Перевірте на якій ви гілці знаходитесь командою “svn info”.

Ви можете переглянути увесь репозиторій, щоб побачити усі зміни, ревізії, теги і т.і. Оглянути сховище можна на сайті Forge: http://forge.typo3.org/projects/typo3v4-core/repository

Доповнення

Правила іменування гілок і тегів

Команда TYPO3 core підтримує гілки для кожного major/minor релізу (4.2, 4.3, 4.4, і т.д.). Всі зміни для релізів виправлень (4.2.1, 4.3.4, і т.д.) передані до одної чи декількох з цих гілок.

Для кожного релізу (4.3.0, 4.4.1, і т.д.) під час створення гілки створюється тег, котрий є просто посиланням на відповідну гілку:

https://svn.typo3.org/TYPO3v4/Core/

+ branches/  
-- TYPO3_4-3/  
-- TYPO3_4-4/  
-- і т.д.  
+ tags/  
-- TYPO3_4-4-0/ (points to TYPO3_4-4 at revision 8046 from June 22, 2010)  
-- TYPO3_4-4-1/ (points to TYPO3_4-4 at revision 8431 from July 28, 2010)  
-- і т.д.  
+ trunk/

Репозиторій Subversion TYPO3 містить всі оновлення, теги та гілки з 2003 року, якщо коротше то з часу релізу TYPO3 3.6.0.

Додаткова література

  1. Сайт проекту Subversion: http://subversion.apache.org/
  2. Стаття на Wikipedia: http://en.wikipedia.org/wiki/Apache_Subversion
  3. Subversion FAQ: http://subversion.apache.org/faq.html
typo3
svn
subversion

Категорії

  • Історії
  • Адміністрування
  • Поради
  • Програмування

Останні матеріали

  • SCP з докачуванням
    1 рік 9 місяців ago
  • Таблиці IPFW
    1 рік 11 місяців ago
  • Як видалити порт FreeBSD з залежностями
    1 рік 11 місяців ago
  • screen — кращий друг адміна
    1 рік 11 місяців ago
  • gd-png: fatal libpng error
    1 рік 11 місяців ago
  • OpenCart облік прибутку
    1 рік 11 місяців ago
  • Fail2Ban: Постійний бан
    2 роки ago
  • Як отримати список змінених файлів між ревізіями
    7 років ago
  • Що робити якщо svn: database disk image is malformed
    8 років ago
  • Як виправити пошкоджений /etc/sudoers файл
    9 років 1 місяць ago

1980-2025 © All rights reserved. vetal.insky.one // нотатки кодера.