[Перевод] Главная цель Continuous Integration — это провал

CI (непрерывная интеграция) ценна только тогда, когда проваливается. Когда она проходит успешно, то становится просто оверхедом: того же результата можно было добиться и без CI. Что такое Continuous Integration? Разработка ПО следует по цикличному итеративному паттерну. Разработчики вносят изменения, коммитят их в систему управления версиями, развёртывают их для пользователей и повторяют этот процесс. Этап continuous integration (CI) расположен между коммитами и развёртыванием, это выполнение автоматизированных проверок каждого коммита. Если проверка проходит успешно, мы говорим «CI пройдена», после чего изменение развёртывается. Если проверка проваливается, мы говорим «CI не пройдена», и изменение не развёртывается. Если вы опытный разработчик, то, возможно, думаете: «Ну это само собой!». Чтобы по-настоящему осознать предназначение CI, нужно посмотреть, что происходит с CI и без неё.

https://habr.com/ru/articles/994888/

#continuous_integration #ci #непрерывная_интеграция

Главная цель Continuous Integration — это провал

CI (непрерывная интеграция) ценна только тогда, когда проваливается. Когда она проходит успешно, то становится просто оверхедом: того же результата можно было добиться и без CI. Что такое Continuous...

Хабр

Cборка Java-проектов в GitFlic Kubernetes-агентом

В последнее время, многие общепризнанные в мире сервисы оказались недоступны для разработчиков из России и им приходится искать аналоги. Одной из таких альтернатив для GitHub является сервис GitFlic. Это такой же хостинг исходных кодов, который, кроме того, предоставляет возможность использовать в работе реестры артефактов и пакетов для различных технологий. В нашем случае это можно засчитать за УТП (Уникальное торговое предложение), ведь не многие разработчики знают о сторонних registry-сервисах продолжая пользоваться DockerHub, который работает “по умолчанию”. Кроме того, развертывание собственного такого сервиса, соответствующего всем требованиям корпоративной безопасности, может потребовать немалых ресурсов. Чтобы исходный код стал артефактом, т. е. ресурсом, готовым к развертыванию в тестовых или продуктивных средах без лишней ручной работы желательно иметь некоторый пайплайн, т. е. сборочный конвейер, который выполнит все преобразования. GitFlic не предоставляет агентов пригодных для сборки контейнерных образов, но позволяет подключать собственные. В данной статье мы настроим сборочный пайплайн для Java разработки на фреймворке Jmix с использованием агента, работающего в кластере Kubernetes.

https://habr.com/ru/companies/haulmont/articles/921930/

#continuous_integration #java #git

Cборка Java-проектов в GitFlic Kubernetes-агентом

В последнее время, многие общепризнанные в мире сервисы оказались недоступны для разработчиков из России и им приходится искать аналоги. Одной из таких альтернатив для GitHub является сервис GitFlic....

Хабр

CI/CD для чайников — разберитесь, и начните наконец-то автоматизировать рутину в разработке. Часть 2. Запускаем CI

Список необходимых инструментов. В прошлый раз мы остановились на том, что получили в свое распоряжение сервер – операционную систему внутри контейнера, которая автоматически стартует, в ответ на указанные действия в репозитории. В нашем случае – пока что на событие пуш. И на этом сервере, мы можем выполнять любой набор команд для автоматизации.🫡 Но самый важный момент на этом этапе – какие настройки должны быть на этом сервере? Какие программы, пакеты или библиотеки, должны быть установлены? В конце концов, какую операционную систему использовать? ⚠️ Мы уже определили набор команд, которые хотим запускать. Давайте разберемся, что нам нужно для их успешного выполнения? Это будет вторым важным и сложным на первых порах моментом, который следует разобрать. Проще всего, на мой взгляд, относится следующим образом. Что должно быть у нас в наличии, для запуска команд eslint . –fix npm run build Если попробовать перечислить, то получится следующий список

https://habr.com/ru/articles/896966/

#ci #continuous_integration #gitlabci #gitlab_runner #docker

CI/CD для чайников — разберитесь, и начните наконец-то автоматизировать рутину в разработке. Часть 2. Запускаем CI

Список необходимых инструментов. В прошлый раз мы остановились на том, что получили в свое распоряжение сервер – операционную систему внутри контейнера, которая автоматически стартует, в ответ на...

Хабр

Что такое CI/CD, и почему непрерывная? Темная сторона силы настоящего и воспоминания о прошлом

Мне тут попалась статья по теме , которая начинается с такого определения: Непрерывная интеграция (Continuous Integration, CI) и непрерывная поставка (Continuous Delivery, CD) представляют собой культуру, набор принципов и практик, которые позволяют разработчикам чаще и надежнее развертывать изменения программного обеспечения. Как по мне, то с самого начала нас пытаются если не подло обмануть, но ввести в заблуждение. Как вы думаете почему разработчикам нужно чаще вносить-развертывать изменения программного обеспечения? Насколько я знаю, для этого есть только две очевидных причины. По-моему, это определение очень отличается от того, что понимали под подобными терминами лет, скажем, 20 назад.

https://habr.com/ru/articles/888804/

#cicd #continuous_integration #continious_delivery #software_development #software_architecture #developer_tools

Что такое CI/CD, и почему непрерывная? Темная сторона силы настоящего и воспоминания о прошлом

Мне тут попалась статья по теме , которая начинается с такого определения: Непрерывная интеграция (Continuous Integration, CI) и непрерывная поставка (Continuous Delivery, CD) представляют собой...

Хабр

Что делать, если баг попал в прод?

Привет, Хабр! Если вы давно искали подборку полезных статей по Git и Gitflow — загляните в блог

https://habr.com/ru/companies/beeline_cloud/articles/845632/

#continuous_integration #continuous_deployment #управление_версиями #тестирование #big_data #bugs #продакшн #hotfix #версионирование #разработка

Что делать, если баг попал в прод?

Привет, Хабр! Если вы давно искали подборку полезных статей по Git и Gitflow — загляните в блог beeline cloud . Здесь я делюсь личным опытом, погружаюсь в задачи из практики и даю развернутые...

Хабр

[Перевод] Cовместное использование GitHub Actions, Docker и GitHub NPMvPackage

В современном мире разработки программного обеспечения GitHub остается самой популярной платформой для хранения Git-репозиторий и управления ими. Помимо своей фундаментальной роли в управлении версиями, GitHub предлагает дополнительные функции, включая возможность размещения private NPM registry. Эта функция упрощает хранение и совместное использование JavaScript и TypeScript библиотек между проектами и командами, улучшая совместную работу и возможность повторного использования кода в вашей компании. GitHub Actions позволяет автоматизировать задачи ваших проектов, такие как linter, sonar , запуск тестов, билд образов Docker, развертывание в различных средах и многое другое. Говоря о Docker, общепринятой практикой является создание приложения, библиотеки или любого кода в определенном образе Docker (то есть сборка внутри Docker контейнера). В этом контейнере можно задать определенную версию Node, а также любые внешние ресурсы и библиотеки, необходимые в процессе сборки. Этот подход обеспечивает максимальное удобство, поскольку устраняет необходимость полагаться на конкретный ПК или виртуальную машину со всеми необходимыми настройками. Вместо этого вы можете один раз подготовить среду на уровне Docker и последовательно использовать ее на разных машинах и в разных средах, обеспечивая согласованность и воспроизводимость на протяжении всего процесса разработки. Однако возникает проблема, когда вы пытаетесь создать свое приложение в Docker, и для этого требуется библиотека npm, хранящаяся в вашем частном реестре GitHub NPM. Более того, этот процесс должен быть осуществим в GitHub Actions. В этой статье я покажу вам процесс настройки, чтобы добиться этого без проблем!

https://habr.com/ru/articles/810873/

#node #github #github_actions #npm #docker #devops #ci/cd #development #continuous_integration #npm_package

Cовместное использование GitHub Actions, Docker и GitHub NPMvPackage

Github Actions В современном мире разработки программного обеспечения GitHub остается самой популярной платформой для хранения Git-репозиторий и управления ими. Помимо своей фундаментальной роли в...

Хабр

[Перевод] Итак, вы унаследовали старую кодовую базу на C++. Что дальше?

Вы жили своей обычной жизнью, но внезапно, всё поменялось. Возможно, вы устроились в новое место, сменили команду или из вашей компании ушёл сотрудник. Теперь вы отвечаете за кодовую базу на C++. Она большая, сложная и своеобразная; достаточно слишком долго на неё посмотреть, как она начинает разваливаться разными интересными способами. Иными словами, это легаси. Но баги всё равно как-то нужно устранять, а ещё добавлять новые фичи. То есть вам нельзя просто закрыть на неё глаза или что ещё лучше, взорвать её динамитом. Она важна для компании. По крайней мере, для тех, кто платит вам зарплату. А значит, важна для вас. И что делать теперь? Не волнуйтесь, у меня такое случалось очень много раз и в разных компаниях (кто-то язвительный может спросить: а разве кодовые базы на C++ бывают какими-то другими?), выход есть, он не особо сложен и поможет вам действительно устранять баги, добавлять фичи, а то и когда-нибудь переписать её. В этой статье я расскажу о том, что оказалось полезным для меня, и о том, чего стоит всячески избегать.

https://habr.com/ru/companies/ruvds/articles/798453/

#рефакторинг #легаси_код #legacyкод #ci #continuous_integration #анализ_кода #санитайзеры #ruvds_перевод

Итак, вы унаследовали старую кодовую базу на C++. Что дальше?

Вы жили своей обычной жизнью, но внезапно, всё поменялось. Возможно, вы устроились в новое место, сменили команду или из вашей компании ушёл сотрудник. Теперь вы отвечаете за кодовую базу на C++. Она...

Хабр

🆕 #Qiita記事  

『Kubernetes Tutorial: How to pull a private docker image in a pod』 @Pavan_Belagatti
https://qiita.com/Pavan_Belagatti/items/fb980222e39973d5ec05

[#docker #continuous_integration #DockerHub #kubernetes] #Boostoot of @qithub

Kubernetes Tutorial: How to pull a private docker image in a pod - Qiita

Docker images that comprise a production application are often deployed to private repositories in Docker registries....