Эта статья — ознакомительное руководство по сборке Docker-образов приложений с помощью нашей Open Source-утилиты dapp (подробнее о ней читайте в анонсе). На примере двух простых приложений (с одним образом) рассмотрим, как могут быть задействованы некоторые из основных возможностей dapp и какой результат они дают.
Рубрика «системы сборки» - 12
Практика с dapp. Часть 1: Сборка простых приложений
2017-08-23 в 8:26, admin, рубрики: continuous delivery, continuous integration, dapp, devops, docker, Анализ и проектирование систем, Блог компании Флант, системы сборкиВышел GitLab 9.4: Связанные задачи и веб-мониторинг приложений
2017-08-07 в 9:29, admin, рубрики: continuous delivery, continuous deployment, continuous integration, elasticsearch, Git, gitlab, kubernetes, open source, performance analysis, Блог компании Softmart, системы сборки, Системы управления версиямиВышел GitLab 9.4: Связанные задачи и веб-мониторинг приложений
В GitLab 9.4 мы представляем связанные задачи, веб-мониторинг приложений, обновленную навигацию, групповые майлстоуны и многое другое!
Сложно кого-то удивить, когда работаешь открыто. Но такой подход позволяет нам рассказать о причинах наших нововведений, а также объяснить, как они позволят в будущем сделать GitLab еще лучше.
В GitLab 9.4 помимо добавления новой функциональности также закладываются основы многих будущих нововведений. Теперь вы официально можете связывать задачи друг с другом, серьезно расширена функциональность переменных в CI, а система мониторинга без дополнительных настроек анализирует гораздо больше метрик.
GitLab CI для непрерывной интеграции и доставки в production. Часть 2: преодолевая трудности
2017-07-12 в 6:00, admin, рубрики: continuous deployment, continuous integration, devops, Git, gitlab, gitlab ci, open source, Блог компании Флант, системы сборки, Системы управления версиями
Эта статья продолжает первую часть, содержащую подробное описание нашего пайплайна:
… и рассказывает о проблемах, с которыми мы столкнулись для его реализации, и их решении.
Итак, я остановился на том, что созданный .gitlab-ci.yml не позволяет реализовать пайплайн в полной мере, поскольку GitLab CI не предоставляет директив для разделения задач по пользователям и для описания зависимостей выполнения задач от статуса выполнения других задач, а также не позволяет разрешить модификацию .gitlab-ci.yml
только для отдельных пользователей.Читать полностью »
24-ядерный CPU, а я не могу сдвинуть курсор
2017-07-11 в 6:14, admin, рубрики: Windows 10, windows 7, баги Windows, завершение процессов, закон Амдала, Программирование, разработка под windows, системное программирование, системы сборки, Тестирование IT-системВсё началось, как это часто бывает, когда моя машина начала подтормаживать. На рабочем компьютере Windows 10 c 24-ядерным процессором (48 потоков) — и они на 50% простаивали. Из 64 ГБ памяти использовалось меньше половины. Быстрый SSD тоже не особо использовался. И всё же, когда я двигал мышкой, курсор реагировал не сразу — иногда с задержкой в несколько секунд.
Так что я сделал то, что всегда делаю — записал трассировку событий с помощью ETW и проанализировал её. В результате я обнаружил баг Windows 10, серьёзно влияющий на производительность завершения процессов.
Трассировка ETW показала, что UI зависает во многих программах. Я решил исследовать 1,125-секундное зависание в Диспетчере задач:
GitLab CI для непрерывной интеграции и доставки в production. Часть 1: наш пайплайн
2017-07-10 в 5:52, admin, рубрики: continuous deployment, continuous integration, devops, Git, gitlab, gitlab ci, open source, Блог компании Флант, системы сборки, Системы управления версиями
Итак, GitLab CI: что можно ещё рассказать о нём? На хабре уже есть статьи про установку, про настройку раннеров, про командное использование, про GitLab Flow. Пожалуй, не хватает описаний того, как используется GitLab CI в реальном проекте, где задействовано несколько команд. А в современном мире разработки ПО это действительно так: ведь есть (как минимум) разработчики, тестировщики, DevOps- и релиз-инженеры. С подобным разделением на команды мы работаем уже несколько лет. В этой статье я расскажу о том, как мы, используя и улучшая возможности GitLab CI, реализовали и применяем в production для коллектива из нескольких команд процессы непрерывной интеграции (CI) и отчасти доставки приложений (CD).Читать полностью »
Вышел GitLab 9.3: Code Quality и межпроектные графики конвейеров
2017-07-03 в 14:54, admin, рубрики: continuous delivery, continuous deployment, continuous integration, elasticsearch, Git, gitlab, kubernetes, open source, performance analysis, Блог компании Softmart, системы сборки, Системы управления версиямиВышел GitLab 9.3: Code Quality и межпроектные графики конвейеров
В GitLab 9.3 мы представляем Code Quality, межпроектные графики конвейеров, индекс совместной разработки, улучшения локализации, описания сниппетов и многое другое!
GitLab представляет собой интегрированный продукт для всего цикла разработки. С выходом каждого ежемесячного релиза мы стремимся добавлять новые аспекты совместного написания кода, непрерывной интеграции, автоматизации релизов и мониторинга. Так, в GitLab 9.3 мы внесли функциональность, позволяющую улучшить качество кода, сократить время цикла разработки, а также упростить управление большими проектами.
Терминология OneGet, NuGet, Chocolatey, PowerShellGet — разложим по полочкам
2017-06-18 в 1:55, admin, рубрики: C#, chocolatey, nuget, Visual Studio, windows, пакетный менеджер, разработка под windows, системы сборкиВ этой статье я хочу помочь разобраться в структуре пакетных менеджеров под Windows. Статья нацелена больше на тех, кто, как и я, пришли из мира Linux, где принято заходить в понимание процессов ниже уровня абстракций.
Уверен, что абстракции вы уже прочитали и без меня:
chocolatey для установки приложений, nuget — для установки зависимостей разработчиком.
Но это мало того грубо, так еще и неправда.
Итак, какие типы пакетов мы знаем из мира Linux? Внимание: не пакетные менеджеры, а именно сами пакеты. Самые распространенные условно делятся на две группы: ОС-зависимые (deb, rpm) или языко-зависимые (как правило, tar-болы). В принципе можно сказать, что первая группа — это приложения (утилиты), а вторые — зависимости (библиотеки). Но иногда это не так: среди пакетов ОС есть библиотеки, а среди языковых пакетов есть пакеты, устанавливающие еще и утилиты (например stdeb в pip или elastalert в npm) — если их устанавливать глобально, то получится как пакет ОС.
Возвращаемся к Windows.
Читать полностью »
Типизированные компоненты в Vue.js, или как подружить Vue, TypeScript и Webpack
2017-06-07 в 7:39, admin, рубрики: components, javascript, TypeScript, vue.js, webpack 2, Программирование, системы сборки, метки: vue.js, webpack 2
Речь в данной статье пойдет о довольно необычном сочетании технологий: Vue.js + TypeScript + Webpack, в разрезе single-file компонентов. Решение данной задачи отняло у меня приличное количество времени с первого захода, поскольку исчерпывающее объяснение того, как использовать все это вместе, да и еще с рядом ограничений (NPM предоставляет нам runtime-only build Vue.js), найти в цельном виде практически невозможно. Если вас заинтересовала данная тема, то приглашаю к дальнейшему чтению.
Читать полностью »
Катаем «смоляной шарик» или создание собственных правил сборки с помощью Qbs
2017-06-06 в 13:37, admin, рубрики: qbs, qt, системы сборкиQbs (Qt Build System) — система сборки, позволяющая описывать процесс сборки проектов на простом языке QML (javascript-подобный декларативный язык), ускоряющий процесс сборки продуктов за счет построения подробного графа зависимостей. Хоть эта система и создана разработчиками Qt, но она жестко не привязана к Qt и позволяет собирать любые продукты, для любых языков программирования и даже использоваться не для программирования, а например для администрирования. Как заявлено в официальной документации:
A product is the target of a build process, typically an application, library or maybe a tar ball
Сегодня и рассмотрим процесс создания своих продуктов. Поехали…
Читать полностью »
Вышел GitLab 9.2: Несколько исполнителей задачи, конвейеры по расписанию, локализация, альфа аварийного восстановления
2017-06-02 в 4:18, admin, рубрики: continuous delivery, continuous deployment, continuous integration, elasticsearch, Git, gitlab, kubernetes, open source, performance analysis, Блог компании Softmart, системы сборки, Системы управления версиями
GitLab спроектирован таким образом, что каждый участник проекта может вносить свой вклад, независимо от размера команды и местонахождения ее участников.
Зачастую в процессе разработки продукта несколько человек работают над одной задачей: например, разработчики фронтэнда и бэкэнда, дизайнер интерфейса, тестировщик и менеджер продукта. С выходом GitLab 9.2 все они могут быть назначены исполнителями одной задачи, что упрощает процесс совместной разработки и позволяет наглядно отображать их общую область ответственности.
Также в версии 9.2 положено начало процесса локализации GitLab: аналитика цикла разработки (Cycle Analytics) теперь доступна на испанском и немецком языках. Локализация GitLab будет продолжена в последующих релизах, чтобы каждый мог вносить свой вклад независимо от родного языка.
Кроме того, разработчики получили больше контроля над временем выполнения конвейеров CI/CD. Теперь можно составлять расписание выполнения конвейеров, что позволяет автоматизировать периодические задачи, такие как ночные сборки, профилактика или подтверждение внешних зависимостей.