Pull to refresh

Настройка конвейерной сборки Java-проектов в GitLab

Level of difficultyMedium
Reading time8 min
Views704

Автоматическая доставка проектных артефактов в тестовые и продуктивные среды является безусловной необходимостью современных процессов промышленной разработки ПО. 

Мы пройдем полный процесс создания пайплайна для сборки и деплоя при помощи GitLab и сопутствующего ПО. Все операции мы проделаем на одном компьютере, хотя ничто не должно вам помешать сразу или в дальнейшем масштабировать полученное решение на один или несколько серверов. Для экспериментов лучше иметь достаточно современный компьютер с количеством оперативной памяти не менее 16 гигабайт, производительным процессором и хорошим интернет-каналом. 

Предполагается, что у вас уже установлены Docker и ssh-сервер и вы немного умеете со всем этим обращаться. 

Читать далее
Total votes 4: ↑4 and ↓0+4
Comments3

Автоматизируем контроль качества микрофронтов

Level of difficultyMedium
Reading time8 min
Views1K

Привет, Хабр! Меня зовут Миша Трифонов, я head of frontend в компании Cloud.ru и основатель сообщества TeamSnack. Поделюсь опытом, кейсами, решениями за 3,5 года работы в направлении микрофронтов.

Статья будет полезна как для тех, кто мало пользовался микрофронтами, так и для гуру микрофронтов. Расскажу, что это такое, покажу преимущества их внедрения и научу продавать ценность этого процесса бизнесу. Еще расскажу про трудности: технология требует ресурсов и усилий.

Читать далее
Total votes 5: ↑4.5 and ↓0.5+4
Comments0

Как настроить тестирование с Vanessa Automation и Gitlab с нуля

Level of difficultyMedium
Reading time14 min
Views2.3K

Боитесь, что тесты пропадут, если компьютер сломается? Хотите видеть историю изменений? Вынуждены запускать тесты в отпуске, т.к. у других членов команды нет к ним доступа? Не можете одновременно работать над написанием и прогоном? Знакомы эти проблемы, хотите избавиться от них раз и навсегда? Тогда вам необходимо использовать Vanessa Automation вместе с Gitlab. И я готов показать этот процесс на максимально простом примере. Меня зовут Дмитрий, я занимаюсь тестированием 1С Зуп в команде HR Tech Самолет. В сфере 1С я уже 7 лет, работал консультантом, аналитиком и программистом. А в тестирование я перешел, чтобы уберечь галактику от ошибок ПО. Поехали!

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments6

Автоматизируем сборку и деплой приложения в GitLab CI/CD: подробное руководство с примерами

Level of difficultyEasy
Reading time22 min
Views19K

При разработке приложений рано или поздно наступает момент, когда заниматься развёртыванием вручную становится затратно и неудобно. Как следствие на помощь приходит автоматизация этого процесса с помощью специально настроенных пайплайнов непрерывной интеграции и непрерывной доставки (Continuous Integration & Continuous Delivery — CI/CD). Для разных систем управления репозиториями исходного кода существуют свои способы настройки CI/CD.

В этой статье мы рассмотрим, как использовать GitLab для организации автоматической сборки и деплоя приложения в кластер Kubernetes. Сам кластер работает под управлением Deckhouse Kubernetes Platform, а автоматизировать процесс будем с помощью werf — Open Source CLI-утилиты, организующей полный цикл доставки приложения в Kubernetes и использующей Git как единый источник истины для состояния приложения, развёрнутого в кластере.

Читать далее
Total votes 36: ↑35 and ↓1+34
Comments17

GitLab CVE-2023-7028

Level of difficultyEasy
Reading time4 min
Views1.9K

11 января 2024 года была опубликована информация об уязвимости в GitLab CE/EE, затрагивающая все версии с 16.1 до 16.1.6, 16.2 до 16.2.9, 16.3 до 16.3.7, 16.4 до 16.4.5, 16.5 до 16.5.6, 16.6 до 16.6.4 и 16.7 до 16.7.2. Данная уязвимость получила идентификатор CVE-2023-7028 и 7.5 баллов критичности по CVSS NVD - CVE-2023-7028 (nist.gov).

Она позволяла неавторизованным пользователям завладевать учетными записями пользователей, в том числе администраторов, без какого-либо вмешательства со стороны жертвы.

Уязвимость была вызвана ошибкой в том, как GitLab обрабатывал проверку электронной почты при сбросе пароля. Злоумышленник мог указать два адреса электронной почты при запросе на сброс пароля, и код сброса отправлялся на оба адреса. Это позволяло злоумышленнику сбросить пароль любого пользователя, даже если он не знал его текущий пароль.

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments1

Как вообще этот ваш CI CD настроить

Level of difficultyMedium
Reading time11 min
Views23K

Привет, Хабр!

Хочется рассказать о нашем опыте внедрения CI/CD в компанию. О том, как в целом работать с ним и как это работает у нас.

Статья нацелена на новичков конкретно в этой сфере и хотят чуть детальнее стандартной документации настроить деплой, может внедрить у себя, чуть адаптировать. Примеры достаточно гибкие и подходят для большинства задач в начинающих IT компаниях

Приятного прочтения, всем peace!

Читать и так далее
Total votes 23: ↑17 and ↓6+11
Comments13

Настройка CI/CD для самых маленьких разработчиков

Level of difficultyEasy
Reading time8 min
Views32K

Считается, что построение CI/CD - задача для DevOps. Глобально это действительно так, особенно если речь идет о первоначальной настройке. Но часто с докручиванием отдельных этапов процесса сталкиваются и разработчики. Умение поправить что-то незначительное своими силами позволяет не тратить время на поход к коллегам (и ожидание их реакции), т.е. в целом повышает комфорт работы и дает понимание, почему все происходит именно так.

Настроек для пайплайна Gitlab очень много. В этой статье, не вдаваясь в недра тюнинга, поговорим о том, как выглядит скрипт пайплайна, из каких блоков он состоит и что может содержать.

Читать далее
Total votes 23: ↑21 and ↓2+19
Comments40

Как запустить контейнер Docker внутри конвейера GitLab CI

Reading time5 min
Views9.3K

Довольно часто мы используем GitLab CI для докеризации наших приложений. Но как запустить контейнер Docker из GitLab Container Registry? Можно ли использовать Docker Compose? Делимся переводом статьи, в которой автор отвечает на эти вопросы и рассказывает о функции services keyword в GitLab CI, которая позволяет запустить один или несколько образов Docker и связать их с вашим заданием.

Читать далее
Total votes 10: ↑7 and ↓3+4
Comments2

Инструкция: как быстро настроить GitLab CI/CD на Flutter-проекте

Reading time12 min
Views6.5K

Привет! Я Александр Омельяненко, Flutter-разработчик в AGIMA. Недавно мне понадобилось быстро настроить CI/CD на Flutter-проекте. Те несколько руководств, что я нашел в интернете по этой теме, были либо с нерабочими примерами, либо запутанные и просто плохого качества. Но всё же какое-то представление я получил. Плюс задал вопросы коллегам. Набивая шишки по пути, я-таки настроил CI/CD на своем проекте. Но мне тогда очень пригодилась бы четкая инструкция. Поэтому я решил написать ее сам по горячим следам. Сегодня делюсь ею с вами и надеюсь, эта инструкция облегчит жизнь тем, кто настраивает CI/CD на Flutter-проекте прямо сейчас.

Читать далее
Total votes 9: ↑9 and ↓0+9
Comments13

Какие этапы можно пройти при написании правильного пайплайна?

Reading time3 min
Views2.8K

5 декабря мы провели вебинар «Этапы становления CI с использованием GitLab-CI», на котором подробно разобрали этапы создания качественного пайплайна. Делимся с вами кратким конспектом встречи.

Читать далее
Total votes 1: ↑1 and ↓0+1
Comments0

Инструкция: как поднять GitLab CI/CD на GoLang-проекте

Reading time3 min
Views6.4K

В продолжение к заметке Инструкция: как быстро настроить GitLab CI/CD на Flutter-проекте.

Больше спасибо автору, всё получилось относительно легко. Я усложнил задачу: поднял GitLab локально на Хакинтоше, прикрутил executor = "docker" вместо "shell". И началось веселье.

Читать далее
Total votes 6: ↑5 and ↓1+4
Comments3

Аутентификация в Kubernetes через Gitlab'овские JWT токены

Reading time5 min
Views3.2K

Представим ситуацию, что мы деплоим по push-модели. В качестве платформы для запуска деплоя у нас используется Gitlab: в нём настроен пайплайн и джобы, разворачивающие приложения в разные окружения в Kubernetes

Какой бы инструмент мы не использовали (kubectl, helm), для манипуляций с ресурсами API нам в любом случае будет необходимо аутентифицироваться при выполнении запросов к Kubernetes. Для этого в запросе надо передать данные для аутентификации, будь то токен или сертификат. И тут возникает несколько вопросов:

1. Где хранить эти креды?

Хранить креды от кластера можно, например, в Gitlab CI/CD Variables и подставлять в джобу деплоя, но тогда потенциально все пользователи будут деплоить с одними и теми же доступами

2. Как сделать так, чтобы у каждого пользователя были свои данные для доступа в кластер?

Можно было бы вручную запускать джобы деплоя и в параметры каждый раз подставлять свои аутентификационные данные, но, очевидно, такой подход неудобен и подходит далеко не всем

А что если сделать так, чтобы в качестве провайдера аутентификационных данных для Kubernetes выступал сам Gitlab? Тогда не надо было бы нигде хранить креды, и каждый пользователь мог бы аутентифицироваться в кубере под своей учёткой при запуске деплоя

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments9

Как мы управляем инфраструктурой на более 1000 серверов при помощи Ansible

Level of difficultyMedium
Reading time12 min
Views16K

Привет, Хабр! Мы системные инженеры X5 Tech — Алексей Кузнецов и Борис Мурашин. У нас за плечами больше 15 лет опыта, в том числе поддержка сервисов Rapida, CyberPlat, TeleTrade, сопровождение стека BigData и внедрение кластеров Hadoop. В этой статье мы расскажем, как выбирали систему управления конфигурациями, какими критериями руководствовались, что в итоге выбрали, с какими проблемами столкнулись и как их решали.

Рассматривать вопрос, зачем вообще нужна система управления конфигурацией, не будем. Потому что считаем, что если у вас больше одного сервера, она уже необходима. Перейдём сразу к тому, почему мы выбрали именно Ansible.

Читать далее
Total votes 34: ↑34 and ↓0+34
Comments22

В Samsung произошла утечка исходного кода, ключей к закрытым проектам и паролей к аккаунтам разработчиков

Reading time2 min
Views10K
Из репозитория на GitLab, который использовали разработчики и инженеры Samsung, произошла утечка исходного кода нескольких приложений, секретных ключей к внутренним проектам а также логинов и паролей к аккаунтам разработчиков.

Несколько проектов в репозитории оказались публичными, и в них содержались важные данные, которые открывали доступ к аккаунтам и закрытым проектам. На данный момент Samsung сменила все логины, пароли и ключи, но все еще расследует, получал ли кто-то доступ к проектам до обнаружения уязвимости.
Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments3

Добавляем активность участия в GitLab на профиль специалиста на «Моём круге»

Reading time2 min
Views3.3K
В своё время мы выяснили, что каждый второй из тех, кто оценивает потенциальных кандидатов, обращает внимание на их участие в ИТ-сообществах. А каждый четвёртый из них отмечает, что эта информация играла значительную роль в принятии решения о найме. 

Поэтому два года назад мы на «Моём круге» добавили на профиль пользователя блок с информацией о его участии в популярных IT-сообществах: Хабр и Тостер, GitHub и StackOverflow, Dribbble и Behance. Мы регулярно забираем по API информацию об активности пользователя в этих сообществах и показываем, в чём именно специализируется данный профессионал.

На данный момент более 13 000 специалистов привязали свои аккаунты IT-сообществ к своему профилю на «Моём круге».  

С сегодняшнего дня можно также привязать свой аккаунт на GitLab. На профиле пользователя это выглядит следующим образом: 

image
Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments15

GitLab отказался от планов следить за активностью пользователей из-за недовольства сообщества

Reading time2 min
Views3.5K


GitLab передумал вносить изменения в условия использования своих продуктов. Изменения, которые предполагали обязательный сбор данных об активности пользователей, в том числе и с помощью сторонних программ, были анонсированы в блоге компании.

Представители GitLab сообщали о том, что хостинг GitLab.com и платные пакеты, такие как Starter, Premium и Ultimate, отныне будут включать в себя сниппеты, которые будут работать «аналогично Google Analytics». Также при сборе статистики планировалось использовать и сторонние сервисы, например, от компании Pendo. Изменения не касались только платформ GitLab Core и GitLab Community Edition.
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments0

GitLab тоже подвержен уязвимости GitHub для размещения вредоносного ПО

Reading time2 min
Views1.4K

Ранее сообщалось, что злоумышленники злоупотребляют недостатком GitHub для распространения вредоносного ПО с использованием URL-адресов, связанных с репозиториями Microsoft. Теперь выяснилось, что GitLab также подвержен этой проблеме и злоупотреблениям.

Читать далее
Total votes 6: ↑8.5 and ↓-2.5+11
Comments0

GitLab удалила проект Suyu (форк эмулятора Nintendo Switch Yuzu) по запросу Nintendo и отключила учётки разработчиков

Reading time3 min
Views8.7K

20 марта 2024 года администрация GitLab удалила проект Suyu (форк эмулятора Nintendo Switch Yuzu) по жалобе из-за нарушения закона США «Об авторском праве в цифровую эпоху» (DMCA) от Nintendo. Также GitLab отключила учётные записи разработчиков Suyu.

Читать далее
Total votes 13: ↑12 and ↓1+11
Comments4

Бесплатные бэкапы баз данных и новые кластеры Kafka

Reading time2 min
Views658

Привет, Хабр! Август мы провели продуктивно и успели подготовить масштабную IT-конференцию про инфраструктуру для бизнеса, запустить новую партнерскую программу и зарелизить Apache Kafka в облачных базах данных. Интересно узнать больше? Тогда добро пожаловать под кат.
Читать дальше →
Total votes 3: ↑3 and ↓0+3
Comments0

GitLab по запросу DMCA заблокировал репозиторий с дополнением для обхода Paywall

Reading time1 min
Views5.8K

GitLab заблокировал репозиторий проекта BPC (Bypass Paywalls Clean). Он представляет собой браузерное дополнение для открытия доступа к материалам по платной подписке. 

Читать далее
Total votes 3: ↑3.5 and ↓-0.5+4
Comments15
1
23 ...