TGViewer
Мамкін Архітектор Мамкін Архітектор @mamkin_architect · 3.29K subscribers
Post #566 2.7K
Про білд системи

В твітері хтось накинув на AWS CodePipelines / CodeBuild — мовляв це незручна фігня. А я як раз мав позитивний досвід, але перед тим, як його розказати, дам трохи вводних про свій досвід з подібними рішеннями.

Коли я починав професійну карʼєру, то був лише компілятор Delphi, який робив ехешнік, та й усе. Потім, з появою .NET, наче зʼявився msbuild (може і не одразу — виправте в коментах), але його генерувала IDE і досвід використання був таким самим, шо і з простим компілятором.

На якомусь етапі зʼявились білд сервери. В нас це був Teamcity, який ми запускали на компі офіс менеджерки, через шо в неї зависав ютуб. Там скрипти для збірки налаштовувались на сервері через UI.

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

Десь в той самий час розвивалась Ruby, а там був rake. Ідея була в тому, щоб замість XML використовувати саму мову для опису білда. Ідея залетіла, і стали зʼявлятись варіації на інших мовах. Для дотнету це були cake (C#), fake (F#) і декілька інших. Це все співпало з моїм захопленням F# і я став дуже активно просувати саме fake.

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

Десь тоді ж познайомився з CI рішеннями, типу circleCI, де білди описувались в yaml форматі, і це мені дуже сподобалось. Потім, звісно github actions та gitlab (не памʼятаю, як у них називаються actions). Це прямо супер зручна штука, і дуже добре, що вони зʼявились. Хоча написав це, і згадав, що не все мені там подобається — про це напишу окремий пост, якщо будуть лайки на цьому.

Так а шо ж з CodeBuild / CodePipelines? Мені подобається, що все можна описати в CDK стеку. Тобто можна в стеку описати необхідну інфру та пайплайн, який буде деплоїти сам стек, в якому це все описано. Хтось скаже "та я роблю те саме в github actions", і в принципі воно так і є, але тут ще й можна гнучкіше описати потрібну інфру. Друга перевага — що воно запускається всередині AWS, і не треба прокидувати різних API_KEYs тощо. Теж не критична проблема, а радше зручність.

А, ну і додам, що там є можливість використовувати в якості тригера upload на S3. Тобто, якщо у вас дуже засекьюрений білд сервер, до якого доступ лише через VPN, то для деплойменту він може просто викладати артефакти на бакет — а там вже його підходить code pipeline.

До речі, rake та його клони так називаються, бо вони є нащадками make — бородатого рішення для збірки, яким я (тут трохи соромно) ніколи нормально не користувався. Хоча насправді воно і досі актуальне, і дуже багато проектів і людей будують свої білд системи саме на ньому.

А що ви використовуєте? Накидайте якоїсь екзотики в коменти :)
  • 👍 18
  • ❤ 6
  • 🤔 1
  • 🤯 1
  • 💅 1
More from @mamkin_architect
  1. Oct 7, 2026Хтось не деплоїть по пʼятницях. Ми не деплоїмо, поки триває тривога. Ми різні
  2. Oct 6, 2026Оновив Portainer однією кнопкою Я вже не раз розповідав, як влаштований мій homelab: є сер…
  3. Oct 1, 2026Обіцяв технічні подробиці по Дронам на районі, тому ось вони. Стек частково вже називав: P…
  4. Sep 30, 2026‼️ увага ‼️ Я провтикав і випадково закрив коменти деяким підписникам пару днів назад. Зар…
  5. Sep 30, 2026В Києві останнім часом тривога триває постійно, з дуже короткими перервами. Раніше треба б…
  6. Sep 21, 2026Від умовного Скайнету чи Матриці нас рятувало те, що LLM-ки доволі повільні: довго відпові…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →