Обновить
59.15

Git *

Система управления версиями файлов

Сначала показывать
Порог рейтинга
Уровень сложности

Как начать тестировать backend и не сойти с ума

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров33K

Дисклеймер: B первую очередь материал будет интересен тем, кто уже значительное время занимается тестированием пользовательского интерфейса и не знает, как подойти к тестированию backend части приложения. Я не претендую на истину: всё, что сказано ниже, является моим субъективным мнением и пережитым опытом.

Введение

Рынок IT специалистов начал стремительно развиваться в последние пару лет. Требования ко всем специальностям, которые задействованы в разработке программного обеспечения, растут со скоростью развития применяемых технологий. Требования выросли и к специалистам по тестированию. Например, если ещё в 2019 году для того, чтобы устроится тестировщиком в международную IT компанию достаточно было иметь год опыта тестирования чего-нибудь, прочитать «Тестирование dot com» Савина, уметь писать тест-кейсы, знать такие слова как «GIT», «SQL» и «Redmine», то в 2021 году ситуация стала радикально меняться. Осознание того факта, что пятилетний опыт ручного тестирования frontend части различных приложений недостаточен для конкурирования на рынке, привёл меня к выгоранию и побудил к решительным действиям. Я осознал, чтобы не остаться на обочине всей IT индустрии необходимо соответствовать современным критериям хорошего специалиста по тестированию. А именно, попытаться понять, как тестировать серверную часть приложений.

В этом материале я не ставлю себе задачу объяснить все тонкости такого вида тестирования. Я хочу лишь познакомить с моментами, которые смогут вам помочь легче воспринимать этот процесс. Также постараюсь передать свой опыт вхождения в backend команду, рассказать о том, что помогло мне не сойти с ума от большого количества новой информации и с какими инструментами возможно придется столкнуться на таком проекте, а также, что поможет безболезненно выполнять сложные задачи.

Читать далее

Как сделать автодеплой UI kit на NPM с помощью gitlab CI/CD

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров3.9K

Как я сделал удобный автодеплой ui-kit на npm с помощью pipeline's gitlab.

Что удалось сделать?

Автоматическое обновление версии пакета при пуше изменений.

Автоматический деплой новой версии на npm.

Читать далее

Эволюция процессов CI/CD в more.tv

Уровень сложностиСредний
Время на прочтение22 мин
Количество просмотров3.9K

Про CI/CD написано много разных статей и в них рассказывают о том, как это помогает увеличить TTM (time to market), позволяет автоматизировать рутинные вещи (например автотесты и различные проверки) и как деплоить в продакшен без отказа в обслуживании.

Мы в more.tv — не исключение и тоже стремимся к улучшению этих показателей при организации CI/CD.

Я Дмитрий Зайцев — руководитель отдела DevOps, и в этой статье расскажу вам, по какому пути прошли мы, какие особенности есть в нашей работе, какие задачи решали на каждом этапе и к чему в итоге пришли.   

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

Читать далее

Как создать приватные репозитории composer

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров4.5K

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

В этой статье мы рассмотрим, как создать приватные репозитории Composer, используя несколько примеров.

Читать далее

Управлять инструментом, который управляет всем: наш путь к GitOps

Время на прочтение5 мин
Количество просмотров5K

Вадим Гедзь, ведущий DevOps инженер, Dyninno Technologies

Всем привет! Сегодня я хотел бы рассказать о том, как в компании, где я работаю, происходит переход к GitOps. В команде разработки больше 300 человек, поэтому остро стоит вопрос управления конфигурациями и непрерывной интеграции кода. В этом кейсе я расскажу о том, как при переходе на GitOps мы исключили дрифт конфигурации между git репозиториями и инфраструктурой, отмечу преимущества и недостатки ArgoCD, как решили задачу secret management при использовании ArgoCD. Также затрону вопрос обратной связи после того, как Docker Image залит в Docker Register и до того, как ArgoCD начинает deployment, рассказав, как мы с коллегами в свое свободное время написали сервис Argo Watcher. 

Эта статья может быть интересна тем, кто задумывается о внедрении GitOps в свою инфраструктуру.

Читать далее

Домашний NAS сервер

Время на прочтение6 мин
Количество просмотров66K

Домашний NAS сервер на 10 жестких дисков для личного использования на базе Linux

Когда имеется большой объем файлов, который необходимо хранить на одном домашнем сервере с низким энергопотреблением, малыми габаритами, невысоким тепловыделением и бесперебойным питанием, а также с большим количеством жестких дисков...

Читать далее

Github pages для pet проектов

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров29K

Как можно использовать github pages для своих fullstack pet проектов с бэкендом на статических файлах)

Читать далее

Работаем с Git: трудовые будни

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров54K

Прошлая статья «Работаем с Git: первые шаги в GitHub» была посвящена установке, настройке Git и классическим операциям из набора для новичков GitHub. А теперь перейдём к практике и рассмотрим «горячие» сценарии, которые делают трудовые будни куда веселее. Или не очень.

Читать далее

Зачем нужны feature-окружения и как с ними работать

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров3.8K

Паттерн feature-окружений называют по-разному: ondemand, review- или preview-окружения. Он нужен, чтобы приблизить среду разработки к продакшену, и позволяет разом избавиться от множества проблем, связанных с организацией разработки и переносом кода.
Но для создания feature-окружений и работы с ними ваш технологический стек должен быть достаточно мощным, чтобы обеспечить необходимую гибкость и динамичность. В этой статье я расскажу, как реализовать некоторые механизмы, необходимые для эксплуатации feature-окружений.


Читать дальше →

«Скачал плагин и опингвинился». Полезные инструменты для работы с IDE

Время на прочтение4 мин
Количество просмотров14K

Эффективность разработки зависит не только от скиллов программиста, но и от рабочего окружения. Так, чтобы оптимизировать процесс, можно использовать специальные плагины или расширения IDE. В тексте собрали самые полезные, по мнению специалистов Selectel, инструменты. Сохраняйте подборку в закладки и делитесь своими вариантами в комментариях.
Читать дальше →

Перевод: Защита ваших репозиториев Git: Исчерпывающее руководство по использованию Gitleaks

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров7K

Gitleaks — это инструмент с открытым исходным кодом, предназначенный для предотвращения размещения конфиденциальных данных в репозиториях Git. Он работает путем сканирования Git‑репозиториев на наличие потенциальных секретов, таких как пароли, API‑ключи и другая конфиденциальная информация, которая не должна быть публично раскрыта.

Инструмент хорошо настраивается и поддерживает широкий спектр форматов файлов, включая текстовые, двоичные и даже зашифрованные файлы. Gitleaks можно использовать как инструмент командной строки или как часть конвейера CI/CD, чтобы помочь отловить конфиденциальные данные до их размещения в репозитории.

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

Gitleaks может быть полезен всем, кто работает с Git‑репозиториями, особенно тем, кто имеет дело с конфиденциальными данными. Это эффективный способ предотвратить случайные утечки и обеспечить защиту конфиденциальной информации.

Читать далее

Изучаем чёрный рынок фальшивых звёзд GitHub

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров14K

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

Если вам неинтересна история, то можете сразу перейти к коду в конце статьи.

А если вам понравилась статья, перейдите в репозиторий Dagster и поставьте нам реальную звезду GitHub!
Читать дальше →

Что такое GitOps и почему он (почти) бесполезен. Часть 2

Уровень сложностиСложный
Время на прочтение13 мин
Количество просмотров9.8K

Одной каноничной синей изоленты может не хватить

Каждый раз, когда появляется новая технология, на очередной конференции вам показывают отполированного коня в вакууме, который сияет своей красотой и логичностью. Но, как правило, дьявол кроется в деталях. Гравитация оказывается бессердечной дамой, а «сова» ваших бизнес-процессов не так красиво натягивается на «глобус» новой технологии, как хотелось бы.

Первая часть статьи вызвала живое обсуждение. Мысль, что git является не единственным источником истины при наличии связанных артефактов во внешних системах (особенно если эти артефакты имеют потенциальные проблемы с повторяемостью сборок), встретила некоторые возражения. Но в этом вопросе я предлагаю следовать закону Мерфи: если неприятность может случиться, то она случается. Рано или поздно не отображаемые в git проблемы внешних зависимостей выстрелят вам в ногу. Эти риски нужно постоянно держать в голове и по возможности митигировать.

Какие ещё потенциальные сложности могут встретить вас при следовании пути GitOps и какие могут быть альтернативы? Давайте разберёмся вместе.
Читать дальше →

Ближайшие события

Реализация конфигурируемого SaaS решения via ArgoCD & Terraform

Время на прочтение11 мин
Количество просмотров3.8K

Мне представилось решать интересную задачу. Необходимо реализовать настраиваемый SaaS, где пользователь может выбрать галочками нужные ему модули и щелкнуть кнопку готово. После этого для пользователя должен быть создан отдельный кластер Kubernetes (или отдельный namespace в общем кластере в зависимости от тарифного плана) с выбранными модулями, которые представляют из себя наборы микросервисов.

В этой статье я хочу осветить мой GitOps вариант реализации этой задачи и показать, на что способен ArgoCD и Terraform.

Читать далее

[Студентам] Советы изучающим git

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров51K

Периодически от студентов приходят вопросы о работе системы контроля версий Git. Частая причина возникновения этих вопросов — непонимание разницы между репозиторием и обычной папкой.

Вот небольшая заметка на эту тему. Давайте разберемся, как работать с папками и репозиториями с точки зрения практики, то есть без строгих определений.

Читать далее

Простой автодеплой средствами Bitbucket Webhooks и PHP

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров4.4K

В этой статье я покажу, как организовать простейший автодеплой на сервере. Для автодеплоя через Bitbucket Webhooks и PHP не нужно использовать какие-то сложные решения.

Для начала можно подумать, что git pull выполняется через PHP с помощью этого куска кода:

Читать далее

Развертывание копий Zabbix на Ansible

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров9.1K

Недавно выпала задача по развертке копий основного Zabbix-server на несколько машин, дабы хранить конфиги на разных серверах, да и еще всунуть это в CI/CD GitLab.

В общем, подробно описал свое решение со ссылкой на репозиторий.

Читать далее

Что такое GitOps и почему он (почти) бесполезен

Уровень сложностиСложный
Время на прочтение9 мин
Количество просмотров20K

Новый авиалайнер. Входит стюардесса в пассажирский салон: «Вы находитесь на нашем новом авиалайнере, в носовой части самолёта у нас находится кинозал, в хвостовой — зал игровых автоматов, на нижней палубе — бассейн, на верхней — сауна. А теперь, уважаемые господа, пристегните ремни, и со всей этой хреновиной мы попробуем взлететь».

Привет, меня зовут Олег! В ИТ-индустрии я работаю большую часть своей жизни. Мне очень интересно развитие инженерной мысли в области управления конфигурацией инфраструктуры, и последние шесть лет я занимаюсь тем, что называется DevOps.

Одна из свежих популярных тенденций — это концепция GitOps, которая была представлена в 2017 году на ставшем уже легендарным «Кубконе» Алексисом Ричардсоном — СЕО компании Weaveworks.

Weaveworks — это большая взрослая компания, которая в 2020 году привлекла больше 36 миллионов инвестиций под развитие своего GitOps.

Сейчас я попробую рассказать о тех неочевидных проблемах, которые могут вас ждать при принятии этой концепции. Если коротко, то GitOps не является «Серебряной пулей». Вполне вероятно, что спустя какое-то время вы закончите реорганизацию с ворохом велосипедов и костылей, которыми очень сложно управлять. Мы сами изрядно походили по этим граблям и хотим показать наиболее неприятные проблемы, которые не видны при чтении красивых статей.
Читать дальше →

Шпаргалки для data science (для начинающих)

Уровень сложностиПростой
Время на прочтение1 мин
Количество просмотров11K

Подготовил шпаргалки для людей, использующих в своей работе python, sql, git, pandas numpy.

Читать далее

Как использовать GitLab в условиях санкций?

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров79K

GitLab — известная платформа для совместной разработки ПО, которая сочетает в себе систему управления версиями (Git), баг-трекер, CI/CD и прочие фичи DevOpsSec.

Изначально Дмитрий Запорожец и Валерий Сизов создали эту систему для собственных нужд, потом выпустили под открытой лицензией — и в конце концов построили процветающий бизнес, который основан на разделении лицензий: «общественная» Community Edition и «корпоративная» Enterprise Edition с рядом дополнительных плюшек на хостинге GitLab или на своём хостинге.
Читать дальше →

Вклад авторов