Как да се създаде и отказва да ап-огледало местното хранилище за Ubuntu за ускоряване на тестване

При изпитване на чисто pleybukov Ubuntu (как иначе?) Най-големият режийни време (субективен) и със сигурност най-големия трафик, изразходвани за инсталиране на пакети от хранилището на системата. Това е особено забележимо, когато видите, че на същия тест управлява Травис CI 1,5 пъти по-бързо.

Tl, д-р: не правете местното хранилище чрез ап-огледалото за малки проблеми, не си струва. Вместо това, вие трябва да се повиши кеширане сървър чрез ап-cacher-нг.

Как да се създаде и отказва да ап-огледало местното хранилище за Ubuntu за ускоряване на тестване

Конфигуриране на ап-огледало

За синхронизиране на местния регистър с основната изпълнение на един - ап-огледало. Официалният уебсайт казва имаме интелигентен, така че неговите инструкции са в 3 линии:

Това наистина е почти толкова просто. Почти.

Избор на най-бързия хранилището

Пакетът не е в хранилищата на Ubuntu, така че ние се люлее от хранилището Debian В резултат на това можете да получите списък от 3-те най-бързо (от пинг) хранилищата:

конфигурация

  • Променете archive.ubuntu.com на mirror.yandex.ru.
  • Отстранете мултивселена хранилището (стандартно Docker контейнер не Ubuntu, вероятно не е много необходимо, но спестява само 13 GB).
  • Променете огледалото съхранение на пътя, като не се забравя след това да копирате празен скрипт на ново място /var/spool/apt-mirror/var/postmirror.sh. в противен случай ап-огледало ще падне в края на грешка. Имам огледало ще се съхраняват в / Var / архивиране / ап-огледало (на диск за архивиране на много места)

Това е под формата на команди:

Добави в работата на Cron за актуализиране на хранилището, ще се изпълнява в 1 ч:

Конфигуриране на Nginx се връща в хранилището, имам такава конфигурация:

Всичко е готово, стартирайте ап-огледало и изчакайте един ден: Аз източени 142 GB. Освен това, актуализацията ще тежи значително, след като разбрах, на следващия ден отново се затича ап-огледало, той изтеглили 1.5 GB.

След това можете да промените хранилището система на вашия локален Ubuntu и да се насладите на скоростта.

дата = "Грешка" плужек = "Грешка / защо-ти-трябва-не-използване-ап-огледало срещу ansible-тестове-In-докер" Докато бяхме там, се ползват с право, разбира се не се случи. По някаква причина (най-вероятно причината мястото на диска), ап-огледало помпи само amd64 пакети, заради това, което ап-да се кълне актуализация:

Тя изглежда добре, но съм сигурен, че в тестовете е нула ап-да код за изход ще спре всички, така че трябва да се определи.

Грешката е на askubuntu.com. благодарение на лицето, което се предлага на разтвора и недоволство от факта, че има само човек sources.list.

Разтворът се препоръчва: да се уточни изрично да sources.list. че в хранилището само amd64 пакети, което е, вместо това:

С настройка ап-огледало приключи, ние се движат по които да се използват в тестове.

Преминаване Docker контейнер на местен ап хранилище

  1. [Bad начин] чрез DNS спуфинг
  2. [Добър метод] Заместването подобен

Взех добро. Това се постига чрез монтиране на файла на мястото подобен:

Не, за да плъзнете с тях артефакти, файлът се създава екип.

След тази проверка, тя трябва да работи добре:

Ако грешка премахването на връзка премахването на връзка с: незаконен вариант - ф. След това най-вероятно ще седне на MacOS, и вие трябва да се направи отвара инсталирате coreutils и да се регистрирате в пътя, което той иска.

сравняване на скоростта

Прекарах около 4 часа се опитва да създаде местна хранилище, вижте колко много спестено време. скорост на интернет от 30 Mbps в мен.

I сравнение тест време молекула практикуване 3 ansible роли, тук са резултатите:

Заключения за ап-огледало

Резултатите бях малко разстроен. Оказа се, че поразително увеличение на скоростта, което се надявах да не би.

  • след като отделиха време да се тества всеки път да се изчака по-малко
  • Той намалява желанието да не се тества върху чиста машина
  • Интернет канал не се занимава с работно време
  • ефект е слаб, 20-30%
  • трудности при изпращането на sources.list файл
  • тръгване от стандартната конфигурация Gitlab CI
  • различни конфигурации за Травис CI и Gitlab CI

Въз основа на това прави за заключение: тя е подходяща само за местна продължителна употреба, в други случаи, надвишават минусите.

Нещо не е наред тук ...

След това си помислих: как да се направи "голям"? От основните решения за местни хранилища, знам само Artifactory. Отидох да видя как те са неща, с огледала и намерен. те могат да бъдат огледало, но се препоръчват за тяхното използване, защото е неефективно. Вместо това, те предлагат да ги използва като сървър за кеширане. Такива неща ...