Рубрика «continuous integration» - 12

boxshell

ROTE — простая библиотека на языке C, служащая для эмуляции терминала VT100. Она создает терминал и предоставляет доступ к его состоянию в виде структуры языка C. В терминале можно запустить дочерний процесс, «нажимать» в нем клавиши и смотреть, что он рисует на терминале. Кроме того, есть функция для отрисовки состояния терминала в окне curses.

Зачем на практике может потребоваться эмулировать терминал и взаимодействовать через него с дочерним процессом? В первую очередь это нужно для автоматического тестирования программ, рисующих что-то на терминале с помощью curses, по моему мнению. Как иначе написать тесты для программы, которая ждёт, что пользователь нажмёт клавишу, и выводит результаты в определенное место экрана средствами curses?

Несмотря на всё удобство и внутреннюю красоту ROTE, использовать её напрямую в тестах было бы громоздко. Поэтому я решил упростить задачу, привязав ROTE к языку Lua, который я очень люблю и знаю, как писать тесты. Так и родилась библиотека lua-rote, о которой я хочу рассказать.
Читать полностью »

Предисловие

Побегав по Хабру, я на удивление не нашел ни одной статьи про полноценный team workflow с использованием различных магических причуд в духе Continuous Integration & Continuous delivery, различные интеграции Github — HipChat(Slack) — CI — Staging and Production via Continuous Delivery, и прочего, хотя я может просто искать не умею.

Semaphore App. Ruby on Rails. Continuous Integration-Delivery - 1

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

Итак, под катом — разбор CI сервиса SemaphoreApp, немножко про интеграцию с другими сервисами и прочие радости, которые упрощают нам жизнь.
Читать полностью »

Эта статья продолжает цикл, начатый нашими друзьями из Лаборатории Касперского и описывает реальный опыт использования инструментов тестирования от Microsoft (и не только) с рекомендациями и выводами. Автор — инженер по тестированию, Игорь Щегловитов (ins4n3 на хабре). Наши статьи, посвященные тестированию, помечены тегом #mstesting.

В данной статье я хотел бы поделиться о своём первом опыте настройки процесса Continuous Integration c помощью популярной системы TeamCity, на виртуальной машине в Azure. Это хорошо тем, что у нас всегда будет доступна наша система с удобным доступом и контролем над ресурсами.

Настройка TeamCity в Azure — постоянно-доступная система для командной работы в облаке - 1
Читать полностью »

PHPCI обновился до версии 1.6 - 1

Система непрерывной интеграции PHPCI доросла до версии 1.6 (обзор, обновление до 1.3), и я хотел бы рассказать об изменениях, произошедших с версии 1.3.Читать полностью »

2 года назад в статье Continuous Delivery & Sitecore: наша реализация я представлял нашу систему автоматической доставки веб-приложений основанных на Sitecore. Это были первые маленькие шаги в направлении мира полной автоматизации.
Читать полностью »

С переходом на новый проект на Unity с относительно большой командой разработчиков резко встала необходимость автоматической сборки и доставки приложения на устройства для тестирования. Вот как с этим обстояла ситуация, когда я пришел на проект (под iOS):

  1. На отдельной mac-машине проект вручную выкачивался из репозитория (Asset Sever).
  2. Вручную (File->Build Settings->Build & Run) запускалась сборка в xCode-проект.
  3. Далее в xCode делался архив (Archive).
  4. Архив экспортировался в ipa-файл, который вручную загружался в TestFlight.
  5. Далее, уже в TestFlight доступ предоставлялся нужным тестерам.

Все описанное выше автоматизируется с помощью так называемой непрерывной интеграции (англ. Continuous Integration, CI). На моих предыдущих проектах для этих целей использовался TeamCity от JetBrains (создателей удобного инструмента рефакторинга кода Resharper). TeamCity (TC) — очень мощный программный продукт, выполняющий цели, поставленные перед системой непрерывной интеграции, на все 100%. Он умеет даже больше. Но речь в статье пойдет не о нем (о нем уже есть статьи на хабре), а о новом сервисе Unity Cloud Build, специально для разработчиков на движке Unity.
Читать полностью »

На прошлой неделе вышла новая версия нашего CI сервера: TeamCity 9.0. Вышла она под лозунгом: “Ваш бессменный билд-инженер”, и это неспроста. Новый функционал направлен во многом на облегчение работы билд-инженеров, а также позволяет билд-серверу работать 24/7, без перерывов на обед maintenance.

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

TeamCity 9.0: импорт проектов, настройки в VCS, фоновая очистка и панды - 1

Читать полностью »

Доброго времени суток. Решил поделиться опытом в организации рабочего процесса разработки веб-проектов и не только веб. Расскажу свое видение максимально удобного использования связки типа: bugtraker + git + ci + deploy.

Оптимизируем рабочий процесс - 1

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

Привет!

Когда VexorCI начинался, мы решили, что для начала использования не обязательно писать файл конфигурации. Мы сами пытаемся догадаться, что именно нужно для запуска тестов и постоянно учим сервис распознавать новые настройки. Но мир разработки очень разнообразен, поэтому некоторым проектам конфиги необходимы.
За последние пару месяцев к Vexor подключилось 100 проектов. Очень разных проектов с уникальными настройками. За это время мы много узнали о том, как готовить файлы конфигурации так, чтобы это было удобно нашим юзерам. В процессе мы пересмотрели наш первоначальный подход и хотим поделиться с вами нововведениями.
Читать полностью »

Привет! Время долгожданного поста про внутреннее устройство Vexor – облачного continuous integration для разработчиков, позволяющего эффективно тестировать проекты и платить только за те ресурсы, которые реально используются.

image
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js