Как стать автором
Обновить

Обнаружена утечка данных Travis CI в период с 3 по 10 сентября

Время на прочтение 1 мин
Количество просмотров 790
Информационная безопасность *Разработка веб-сайтов *Открытые данные *GitHub *Хранение данных *

Данные проектов Travis CI попали в открытый доступ в промежутке между 3 и 10 сентября, сообщает Arstechnica.

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

Инцидент получил кодовое название CVE-2021-41077, разработчики определили, что утечка данных происходила в период с 3 по 10 сентября, и затрагивает сборки, созданные в этот промежуток времени.

Читать далее
Всего голосов 11: ↑10 и ↓1 +9
Комментарии 1

Что такое travis-ci.org и с чем его едят?

Время на прочтение 4 мин
Количество просмотров 74K
Ruby *
Из песочницы
image

Наверняка все слышали шумиху вокруг проекта travis-ci.org. Я не являюсь исключением и учитывая, что один из его разработчиков, Джош Калдеримис (Josh Kalderimis), выступивший на прошедшей конференции toster.ru, разжег мой интерес еще больше, то я решил окончательно разобраться, что такое travis-ci и с чем его едят. После прочтения вы узнаете как данный сервис может помочь ruby-разработчикам, а также как ему могут помочь они. Располагайтесь поудобнее, начнем…
Читать дальше →
Всего голосов 29: ↑27 и ↓2 +25
Комментарии 12

Ruby NoName Podcast S04E16

Время на прочтение 1 мин
Количество просмотров 1.1K
Ruby *
Читать дальше →
Всего голосов 17: ↑15 и ↓2 +13
Комментарии 1

Настройка Travis-CI для iOS проектов с открытым кодом

Время на прочтение 4 мин
Количество просмотров 5.5K
Open source *Разработка под iOS *
Непрерывная интеграция (continuous integration) — практика разработки, позволяющая добиться большей уверенности в стабильности и корректности работы любого проекта. Проекты с открытым кодом — не исключение.

Примерно два месяца назад, в апреле 2013 года комапания Sauce labs объявила о поддержке iOS / Mac для CI-сервера Travis. Сам сервис существует уже довольно давно, и пользуется довольно большой популярностью в open-source community благодаря поддержке большого количества языков и удобству использования. Cервис бесплатен для любого пользователя github и открытых репозиториев. На Хабре уже имеется пост о сервисе и его настройки для тестирования Ruby-проектов, поэтому в этой статье я хотел бы рассказать о более специфической стороне сервиса — настройке автоматической сборке билдов iOS проектов на Travis-CI. Основным фокусом этой статьи будет связка CocoaPods + Cedar + Travis CI, однако я постараюсь рассказать немного и о других связанных с темой вещах.

Итак, начнем.
Читать дальше →
Всего голосов 18: ↑16 и ↓2 +14
Комментарии 1

Отчёты и графики для travis-ci и drone.io

Время на прочтение 3 мин
Количество просмотров 6.8K
Разработка веб-сайтов *Python *Django *

В больших проектах уже довольно давно привык к плюшкам ci: прогону тестов, отчётам и автоматическому деплою. При разработке небольших проектов этого не хватает. 1 и 3 покрывает travis-ci (ну или drone.io), но вот визуализации результата нет никакой.

И сразу придумалось простое решение:
  • прогонять анализаторы на стороне ci;
  • отправлять их себе;
  • парсить результат и красиво отображать.


И это всё вылилось в небольшое приложение — coviolations.io (исходники сервера и приложения), сейчас оно
  • работает с публичными и приватными репозиториями на github;
  • работает с travis-ci, drone.io и при желании с jenkins;
  • умеет парсить результат pep8, sloccount, python unittest, pip-review и testem;
  • умеет рисовать статус-плашку ;
  • умеет комментировать пул реквесты в публичные проекты, использующие travis-ci;
  • не умеет работать с репозиториями организаций.

Читать дальше →
Всего голосов 27: ↑26 и ↓1 +25
Комментарии 3

Дайджест интересных новостей и материалов из мира PHP за последние две недели № 26 (8—22 сентября 2013)

Время на прочтение 5 мин
Количество просмотров 17K
Блог компании Zfort Group Разработка веб-сайтов *PHP *


Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.

Приятного чтения!
Читать дальше →
Всего голосов 57: ↑46 и ↓11 +35
Комментарии 25

coviolations.io теперь beta

Время на прочтение 2 мин
Количество просмотров 2.2K
Блог компании coviolations.io Open source *Git *
coviolations.io — сервис для визуализации результатов тестов и анализаторов кода сегодня перешёл в стадию beta.

Основные нововведения:
  • поддержка приватных репозиториев и репозиториев компаний;
  • поддержка xUnit, coverage, jslint;
  • выставление статуса коммитам на github;
  • добавление аннотаций к коду на github с результатами pep8 и jslint;
  • добавление краткой сводки к pull request (только с travis-ci);
  • новый модный интерфейс на AngularJS;
  • параметры nofail, nocomment и stderr в .covio.yml.

Читать дальше →
Всего голосов 18: ↑18 и ↓0 +18
Комментарии 0

Сборка Android приложений на Travis CI

Время на прочтение 4 мин
Количество просмотров 10K
Разработка под Android *
Туториал
В данной статье я хотел бы показать, как можно бесплатно собирать Android проекты (Maven) с открытым исходным кодом на Travis CI.
Читать дальше →
Всего голосов 12: ↑10 и ↓2 +8
Комментарии 2

Xcode и Travis: запуск тестов на множестве конфигураций

Время на прочтение 7 мин
Количество просмотров 7.8K
Тестирование IT-систем *Разработка под iOS *Xcode *
Туториал
Основную идею данной заметки в принципе можно уместить в одном предложении: «раз уж вы пишете тесты, то неплохо было бы прогонять их на всех возможных конфигурациях, а не на одной единственной». Но поскольку формат однострочных статей на хабре не принят, а информация усваивается пропорционально логарифму количества слов в объяснении, то раскрою мысль подробнее.

Читать дальше →
Всего голосов 16: ↑16 и ↓0 +16
Комментарии 3

VexorCI под капотом

Время на прочтение 6 мин
Количество просмотров 5.5K
Блог компании VexorCI Разработка веб-сайтов *Тестирование IT-систем *
Привет, Хабр! Время долгожданного поста про внутреннее устройство Vexor – облачного continuous integration для разработчиков, позволяющего эффективно тестировать проекты и платить только за те ресурсы, которые реально используются.

image
Читать дальше →
Всего голосов 22: ↑18 и ↓4 +14
Комментарии 2

Magento-модули и Travis CI

Время на прочтение 5 мин
Количество просмотров 6.8K
PHP *Разработка под e-commerce *Magento *
Краткая заметка с примерами конфигов, как использовать Travis CI при разработке модулей для Magento обеих версий.
Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Комментарии 0

Авторинг Perl модулей

Время на прочтение 19 мин
Количество просмотров 6.1K
Perl *Разработка веб-сайтов *GitHub *
Туториал
При разработке перл-модулей приходится делать много работы, которая практически не связана с задачами и кодом модуля — начиная от создания десятка типовых файлов/каталогов и заканчивая выполнением десятка одинаковых операций необходимых для выпуска новой версии.

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

Кроме того, многие из нас пишут на перле очень много лет, и последний раз читали perlnewmod когда изучали перл. В результате, когда создаются новые модули это нередко делается в стиле 15-ти летней давности, причём система сборки выбирается практически случайным образом — либо древний, но знакомый и точно умеющий что угодно EUMM, либо одна из других (не потому, что нужна именно она, а просто в надежде что она окажется проще и удобнее EUMM, не создав при этом новых проблем… которые она всё-таки со временем создаёт).

Далее кратко описаны имеющиеся на начало 2015 года средства, которые могут облегчить процесс разработки перл-модулей, сделать ваши модули более современными, и упростить другим разработчикам доработку ваших модулей. Я постарался перечислить их основные плюсы и минусы, но т.к. сам пользовался не всеми то буду дополнять/исправлять этот список в соответствии с вашими комментариями.

Читать дальше →
Всего голосов 16: ↑16 и ↓0 +16
Комментарии 34

RailsClub 2015: Конкурс от Vexor’a и история о CI-сервисе в большом проекте

Время на прочтение 2 мин
Количество просмотров 2.9K
Блог компании RubyRussia Ruby *Ruby on Rails *
Привет, Хабр!

Сегодня мы хотим рассказать о партнере конференции RailsClub – стартапе Vexor.io. Это быстрое и дешёвое решение для автоматизированного тестирования (Continuous Integration). В этом посте: немного о Vexor, кейс о тестировании большого проекта и крутой конкурс, в котором можно выиграть квадрокоптер! Вот такой:

image

Все подробности под катом
Всего голосов 11: ↑6 и ↓5 +1
Комментарии 5

Как мы использовали Git, CI и code review в учебном процессе

Время на прочтение 4 мин
Количество просмотров 13K
Блог компании Образовательные проекты JetBrains
В Академическом университете постоянно внедряются новые подходы к обучению. Программы, задания и сам процесс меняются таким образом, чтобы предоставить студенту наиболее полные и актуальные знания, а преподавателю – возможность попробовать более эффективные методы. Так и в прошлом семестре вместо того, чтобы принимать ДЗ по Java "на А4 и по ГОСТу", мы с bintree решили сделать все "как у больших дядей": использовать Git, CI и code review. В этой заметке я поделюсь с вами возникшими проблемами, их решениями, плюсами-минусами такого подхода, а также некоторыми соображениями на будущее.
Читать дальше →
Всего голосов 22: ↑19 и ↓3 +16
Комментарии 10

Объединяем Code Coverage от PHPUnit и phpspec

Время на прочтение 3 мин
Количество просмотров 7.2K
Блог компании SimpleWeek PHP *Программирование *
Туториал
Сегодня та или иная библиотека на Github, у которой нет тестов, уже не воспринимается серьезно. Тесты помогают нам смело делать рефакторинг и быть уверенными, что модуль, класс или функция работают так, как это задумывалось. Они позволяют нам тестировать наш код на разных версиях PHP и выявлять ошибки заранее. Это гарант качества и стабильности вашего кода.



Стремиться к стопроцентному покрытию кода нет никакого смысла, однако понимать в среднем какой процент кода покрыт вашими тестами — хорошая метрика при непрерывном интегрировании.

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

image

Но что делать, если вы используете несколько библиотек для тестирования? Как получить общее покрытие кода?
Читать дальше →
Всего голосов 22: ↑19 и ↓3 +16
Комментарии 7

Как обновить ядро в системе без перезапуска сервисов (пошаговая инструкция)

Время на прочтение 8 мин
Количество просмотров 12K
Блог компании Virtuozzo Open source *Системное программирование *Разработка под Linux *
Как вы думаете насколько реально зайти на машину по ssh, обновить систему, загрузить новое ядро и при этом оставаться в той же ssh сессии. Сейчас есть модное движения по обновлению ядра на лету (ksplice, KernelCare, ReadyKernel, etc), но у этого способа есть много ограничений. Во-первых, он не позволяет применять изменения, которые меняют структуру данных. Во-вторых, объекты в памяти могут уже содержать неверные данные, которые могут вызвать проблемы в дальнейшем. Здесь будет описан более «честный» способ обновить ядро. На самом деле, сам способ уже давно известен [1], а ценность этой статьи в том, что мы разберем все в деталях на реальном примере, поймем, насколько это просто или сложно, и чего стоит ждать от подобных экспериментов.
Читать дальше →
Всего голосов 28: ↑27 и ↓1 +26
Комментарии 11

Пишем обертку над API, делаем из нее PIP-пакет, подключаем тестирование от Travis CI и смотрим на лицензии открытого ПО

Время на прочтение 6 мин
Количество просмотров 8.8K
Python *Программирование *API *
Туториал

Приветствую, Хабрахабр! Данная статья будет полезна желающим ознакомиться не только с оформлением собственного пакета Python Package Index (PIP), но и с различными вспомогательными инструментами, помогающими сопровождать разработку на всех стадиях — на примере авторской работы.

Необходимые инструменты:

  • Среда разработки — написание объектно-ориентированного кода, тесно работающего с интерфейсом приложения (в нашем случае веб-сайта), другими словами — отправка и обработка запросов к API, и дополнительных вспомогательных файлов;
  • Загрузка своих наработок в общий каталог пакетов — PyPI;
  • Github — создание репозитория с целью контроля качества, улучшения и перманентного обновления библиотеки, общего взаимодействия с областью открытого исходного кода;
  • Одна из лицензий свободного программного обеспечения, в нашем случае — MIT License;
  • Travis CI — непрерывная сборка и тестирование разрабатываемого проекта в различных окружениях (например, разные версии языка или интерпретатора).

Данный список можно принимать за содержание статьи в соответствующем порядке.
Читать дальше →
Всего голосов 24: ↑20 и ↓4 +16
Комментарии 5

Continuous delivery с Travis CI и Ansible

Время на прочтение 4 мин
Количество просмотров 11K
Серверное администрирование *DevOps *
Туториал

Настройка непрерывной доставки (Continuous delivery CD) для вашего проекта c github.com

Hеобходимо:

  • Репозиторий на github.com
  • Сервер для Ansible (для примера ip: 1.1.1.1)
  • Сервер для развертывания вашего проекта (для примера ip: 2.2.2.2)
  • Локальная машина с настроенным проектом
  • Базовые знания работы в командной строке, Travis CI и Ansible
Читать дальше →
Всего голосов 19: ↑17 и ↓2 +15
Комментарии 9

Как настроить Travis CI для проекта .NET Core + PostgreSQL

Время на прочтение 4 мин
Количество просмотров 8.5K
PostgreSQL *.NET *
Туториал

Я расскажу о том, как настроить автоматический запуск модульных тестов в сервисе Travis CI для .NET Core проекта, в котором используется PostgreSQL.


Можно использовать эту статью как пример для быстрого старта.


Читать дальше →
Всего голосов 15: ↑14 и ↓1 +13
Комментарии 8

Continuous Integration для новичков

Время на прочтение 8 мин
Количество просмотров 144K
JavaScript *Node.JS *ReactJS *
Туториал

Что такое CI


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


Если вы не знаете как настроить CI в своем проекте, я приглашаю вас "под кат"

Читать дальше →
Всего голосов 45: ↑43 и ↓2 +41
Комментарии 20
1