[Перевод] Вышел GitLab 10.3: статическое тестирование безопасности приложений и тестирование производительности в браузере

Картинка для привлечения внимания


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


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

Сборка и дeплой приложений в Kubernetes с помощью dapp и GitLab CI



В предыдущих статьях о dapp было рассказано про сборку приложений и про запуск в Minikube. При этом dapp запускался локально на машине разработчика. Однако инструмент задумывался для поддержки процессов непрерывной интеграции (CI) и сами мы используем его в основном в связке с GitLab. Чем dapp помогает в процессах CI/CD? Читать дальше →

[Перевод] Вышел GitLab 10.2: Настраиваемые доски задач и GitLab Geo в общем доступе

Картинка для привлечения внимания


В данном релизе мы добавили возможности по улучшению планирования, развертывания, надежности и многое другое.


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

[Перевод] Почему repository в pom.xml — плохая идея

Где-то полгода назад я опубликовал туториал, посвящённый добавлению в проект библиотек, которых нет в репозиториях maven. Речь шла о маленьких проектах, и я порекомендовал ставить тег repository прямо в pom.xml, чтобы можно было собирать проект без необходимости править settings.xml.



В комментариях этот подход критиковали sshikov, igor_suhorukov, jbaruch и многие другие. Там же в комментариях мне дали ссылку на статью Брайана Фокса, в которой чётко и понятно изложено, чем чреваты repository в pom.xml. Статья 2009 года, но не потеряла актуальности до сих пор. Перевода на Хабре я не нашел — поэтому предлагаю вашему вниманию свой.

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

Как мы настраивали процесс CI/CD для наших SOA-проектов


Хотел бы поделиться опытом настройки CI/CD в нашей компании, плюс, послушать советы, если у вас похожая структура проектов.

Кому, как мне кажется, данная статья может оказаться полезной:
— ваши проекты содержат несколько отдельных репозиториев с приложениями;
— вы хотите быть уверены, что каждый репозиторий проходит тесты;
— вы хотите быть уверены в совместимости версий между репозиториями;
— вы ещё не успели, но планируете, перевести свои проекты на докер;
— хотите посмотреть пару playbook'ов Ansible.

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

[Перевод] Полное руководство по написанию утилиты для Go


Некоторое время назад я начал делать утилиту, которая упростила бы мне жизнь. Она называется gomodifytags. Утилита автоматически заполняет поля структурных тегов (struct tag) с помощью имён полей. Пример:


Пример использования gomodifytags в vim-go


Эта утилита облегчает управление многочисленными полями структуры. Она умеет добавлять и удалять теги, управлять их опциями (например, omitempty), определять правила трансформации (snake_case, camelCase и пр.) и многое другое. Как эта утилита работает? Какие Go-пакеты она использует? Наверное, у вас есть много вопросов.


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


Налейте кофе и начинайте читать!

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

Пошаговое руководство работы с Antlr4 с Maven проектом для Java через Intellij Idea

ANTLR — это генератор парсеров, который позволяет создавать парсер по описанию грамматики на одном из основных языков программирования. Он сам написан на java и прекрасно работает с Java.


Пошаговое руководство:


1) Поставить Oracle Java JDK и Intellij Idea, (можно пропустить этот шаг, если они уже поставлены), и запустить Intellij Idea


2) File-Setting-Plugins


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

[Перевод] Вышел GitLab 10.1: комментирование изображений и блокировка неподписанных коммитов

Картинка для привлечения внимания


Καλημέρα! (Доброе утро!) В этот раз мы приветствуем вас из греческого города Гераклиона.


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

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

[Перевод] Объясняем современный JavaScript динозавру


Если вы не изучали JavaScript с самого начала, то осваивать его современную версию сложно. Экосистема быстро растёт и меняется, так что трудно разобраться с проблемами, для решения которых придуманы разные инструменты. Я начал программировать в 1998-м, но начал понимать JavaScript только в 2014-м. Помню, как просматривал Browserify и смотрел на его слоган:


Browserify позволяет делать require («модули») в браузере, объединяя все ваши зависимости


Я не понял ни слова из предложения и стал разбираться, как это может помочь мне как разработчику.


Цель статьи — рассказать о контексте, в котором инструменты в JavaScript развивались вплоть до 2017-го. Начнём с самого начала и будем делать сайт, как это делали бы динозавры — безо всяких инструментов, на чистом HTML и JavaScript. Постепенно станем вводить разные инструменты, поочерёдно рассматривая решаемые ими проблемы. Благодаря историческому контексту вы сможете адаптироваться к постоянно меняющемуся ландшафту JavaScript и понять его.

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

Сборка проектов с GitLab CI: один .gitlab-ci.yml для сотни приложений



В статье решается задача управления описанием сборки для большого количества однотипных приложений. Чтобы в проекте заработал GitLab CI, нужно в репозиторий добавить файл .gitlab-ci.yml. Но что, если в сотне репозиториев это файл с одинаковым содержимым? Даже если разложить его по репозиториям один раз, то как его потом изменять? А что, если одного .gitlab-ci.yml мало для сборки — нужны Dockerfile или Dappfile, разные скрипты и структура YAML-файлов для Helm? Как обновлять их?

С чего начать решение задачи по сборке сотни однотипных приложений? Конечно же, посмотреть, можно ли GitLab CI указать использовать .gitlab-ci.yml из другого репозитория или компоновать .gitlab-ci.yml из файлов в других репозиториях… Читать дальше →
  • Новее
  • 1


Последние посты