Нет, пожалуй, системы управления версиями мощней, чем Git. И, пожалуй, нет системы управления версиями сложней, чем Git. Матерые зубры программирования, освоившие его основные концепции, и то иногда пасуют перед сложностями отдельных редко используемых моментов. Что уже говорить о пользователях не столь опытных?
На помощь приходят разнообразные визуальные клиенты для Git, которых в последнее время появилось немало (что еще раз подтверждает сложность Git-а). Но одним из лучших клиентов для OS X был и остается Tower, недавно обновившийся до второй версии, и именно о нем я и расскажу.
Интерфейс программы построен в духе лучших рекомендаций Apple Guidelines для OS X: все продумано, разумно и аккуратно.
В верхней части окна находится панель кнопок, предназначенная для быстрого вызова самых нужных функций. Разумеется, эту панель можно настраивать по своему вкусу.
НЕ ИГРА ГОДА — Pizza Tower Обзор
Основное окно программы делится на три столбца.
Самый левый предназначен для выбора репозиториев и навигации по выбранному. Тут показываются рабочая копия, общая история для всех тегов и веток, стеши и настройки текущего репозитория. Тут же отображаются ветки, теги, удаленные сервера и подмодули. Рядом с ветками показывается цифра, насколько вы ушли вперед или назад от origin-а. Все операции типа merge или rebase выполняются простым перетаскиванием одной ветки на другую.
В нижней части этого столбца находится панель, в которой отображается статус текущей операции. Кстати, для быстрого переключения между репозиториями есть отдельное окно «Quick Open», которое открывается по комбинации клавиш Shift-Cmd-O. Забавно то, что Tower находит все репозитории на диске и показывает их в этом окне, позволяя в один клик добавить их.
Следующий столбец отведен для показа файлов, дерева веток, списка коммитов, списка измененных файлов и т. п. Содержимое его меняется в зависимости от выбранного в левом столбце варианта. Также, в зависимости от контекста, тут появляются дополнительные инструменты. Например, в режиме Working Copy тут находится поле ввода и кнопка быстрого коммита.
Правое, самое большое поле отведено для показа изменений в соответствующем коммите либо же просмотра его файлов целиком (выбирается кнопками вверху).
Поскольку Git — программа очень сложная, то много функций Tower вынесены в контекстные меню и в главное меню программы. Потратьте какое-то время на то, чтобы разобраться. Кстати, разработчики Tower очень хорошо понимают, насколько Git сложен, поэтому предлагают три способа научиться контролю версий с помощью Git (и, конечно, Tower). На выбор имеются: книга, 20 с лишним часов видеолекций и периодически проводящиеся вебинары. Рекомендую посетить страницу и выбрать подходящий вариант (если, конечно, вы не родились в свитере и с бородой и уже и так виртуозно владеете Git-ом).
О ЧЕМ PIZZA TOWER
В ходе работы Tower берет на себя много мелкой рутины, которая руками делается очень нудно, приведу только несколько примеров. Очень удобно сделана функция частичного коммита — вы можете выбрать в диффе интересующие строки или блоки кода и выполнить для них операцию stage. Или другой пример: Tower периодически подтягивает свежие изменения с origin, позволяя вам следить, за прогрессом коллег.
Очень удобна функция поиска по истории коммитов, позволяющая быстро найти среди них нужный. Имеется поддержка операции blame, которая покажет, кто отвечает за каждую конкретную строку в файле. Очень наглядно Tower визуализирует конфликты: вы видите файлы, которые Git не смог объединить сам, и можете выбрать, какой из них оставлять. Также можно использовать внешние инструменты для просмотра diff-ов и их объединения, если вам нужно посмотреть разницу более детально.
Очень удобна в Tower работа со stash. Каждый набор изменений в stash можно посмотреть детально, а также применить (как целиком, так и по частям). Есть возможность автоматически убирать изменения в stash, если они мешают текущей операции.
Tower отлично интегрируется с внешними инструментами для просмотра diff и их объединения, также возможна установка утилиты командной строки для работы с Tower из терминала.
Здорово программа работает с сервисами хранения кода, в данный момент поддерживаются Github, BeanStalk и BitBucket. Tower покажет ваши репозитории в этих сервисах, позволит создать новые и клонировать любой из них в один клик.
В общем, Tower — надежный друг программиста, работающего в OS X, позволяющий сделать использование Git заметно проще.
Конкурс окончен
Разработчики предоставили нам две лицензии для Tower 2, которые мы с радостью разыграем среди читателей. Чтобы принять участие в розыгрыше, вам необходимо выполнить несколько простых действий.
- Используя кнопку под этой статьей, поделиться ссылкой на нее в социальной сети (или нескольких).
- Оставить к этому обзору комментарий, в котором указать ссылку на свой пост в социальной сети и объяснить, зачем именно вам нужен Tower.
- Использовать при регистрации реальный e-mail (на него мы отправим коды для победителей).
- Мы случайным образом выберем двоих победителей и выдадим им коды для бесплатного получения Tower 2.
Поздравляем победителей конкурса, ими стали Sasha-hi и region23!
Название: Tower 2
Издатель/разработчик: fournova Software GmbH
Встроенные покупки: Нет
Совместимость: OS X
Цена: 2 130 руб.
Ссылка: Купить
Источник: appleinsider.ru
Tower – самый крутой Git-клиент для Mac
За годы существования сайта некоторые жанры (например, списки задач) выбились в явные лидеры, а про некоторые мы не писали вообще ни разу. Сегодняшнее приложение как раз из категории незаслуженно обделённых вниманием – это Git-клиент под названием Tower.
Автор этого обзора по работе регулярно сталкивается с репозиториями Git, и поиски хорошего клиента, который по качеству исполнения соответствовал бы уровню приложений Apple, затянулся на несколько месяцев. Было перепробовано много всего – и платного, и бесплатного, и официального, но в итоге можно однозначно сказать, что лучше Tower в данном узкоспецифичном жанре пока нет ничего. Давайте попробуем разобраться, почему это так.
Как вы уже поняли, целевая аудитория данного приложения совершенно конкретна – это разработчики. Если вы раньше никогда не сталкивались с системами контроля версий, не слышали про SVN или Git, не знаете, чем fetch отличается от pull, и как нужно делать rebase – дальше можно не читать. Конечно, можно было бы ввести вас в курс дела и рассказать, как при командной работе над проектом следить за всеми изменениями и разрешать конфликты правок – но тогда это будет не обзор Tower, а краткий учебник по Git. Писать же руководства по Git – дело трудное и неблагодарное, потому что эта простая на первый взгляд система имеет такое количество команд и параметров, что все их знает разве что сам Линус Торвальдс.
Первое, что вы заметите после запуска Tower – продуманный дизайн приложения. «Ну вот, речь о профессиональном приложении для разработки, а они тут с дизайна начинают» – подумает читатель, и будет отчасти прав. Но дизайн Tower интересует нас исключительно с позиции полезности и удобства.
Сравните-ка его с конкурентами:
При первоначальной настройке вам будет предложено добавить один из поддерживаемых аккаунтов Git:
Репозитории, которые вы уже клонировали к себе на компьютер, Tower наверняка обнаружит и подхватит автоматически. Разумеется, клонировать репозитории можно прямо из Tower – например, прямо из списка подключённых аккаунтов.
Отметим, что в Tower можно организовать многооконный режим работы, а можно обойтись и одним окошком, благо переключение между репозиториями всегда под рукой – под панелью инструментов достаточно нажать на Repositories. Конечно, ещё интереснее было бы видеть их в отдельном сайдбаре, но тогда колонок в интерфейсе стало бы совсем много.
Основное рабочее окно Tower вы уже видели в начале обзора. Левый сайдбар Tower содержит всё самое важное, что касается выбранного вами репозитория:
- в Working Copy вы постоянно будете заглядывать, чтобы посмотреть, какие файлы изменились, и закоммитить либо откатить эти изменения
- в Stashes будут сохраняться все ваши стеши
- в Branches будут отображены все ветки репозитория, для которых вы делали checkout. Невозможно не увидеть HEAD-ветку; кроме того, рядом с каждой веткой наглядно отображается различие по коммитам – сколько нужно слить и сколько залить. Кстати, ветки можно мёржить прямо в этом списке, простым перетаскиванием.
- в Tags будут собраны метки, которыми знаменуются важные моменты в ходе работы над проектом
- в Remotes можно будет посмотреть, что творится в ветках вашего репозитория на удалённом сервере
- наконец, Submodules пригодится вам, если вы используете дочерние проекты Git
Остальное содержимое экрана будет меняться в зависимости от того, что вы выбрали слева. Например, если вы просматриваете какую-нибудь ветку, то второй колонкой будет идти история коммитов (с хорошей индикацией того, что к каким веткам относилось), а справа будет отображена детальная информация по каждому коммиту:
Особенно удобно, что вы видите все коммиты, в т.ч. и те, что пока не слиты и не запушены – так легко оценить, стоит ли делать pull прямо сейчас. И, разумеется, история коммитов гибко настраивается с помощью кнопок в верхней части колонки.
Обратите внимание на переключатель Changeset/Tree в правой панели – выбрав Tree, вы увидите всю начинку репозитория на момент отправки данного коммита.
Если вы просматриваете список изменений, то увидите список файлов с пометками о том, были ли они добавлены/изменены/удалены, либо о том, что обнаружен конфликт. Справа будут видны все изменения в данных файлах.
Отсюда же быстро можно оформить коммит или сохранить внесённые правки в качестве стеша:
Более того, для любого файла быстро можно посмотреть полную историю изменений и выяснить, кто, что и когда пытался менять.
Отдельно стоит упомянуть контекстные меню: в них раскрыт почти весь потенциал Git – от создания новой ветки на базе коммита до экспорта патчей. Нормально поддерживаются даже такие команды, как cherry-pick (для импорта отдельных коммитов из ветки в ветку).
Наконец, нельзя не похвалить грамотный подход к работе с конфликтами: во-первых, сразу видно, в чём состоит конфликт; во-вторых, что главное, его можно разрешить в пару кликов:
Обзор получился большим, а ведь за бортом остались другие полезности: огромное количество шорткатов, кастомизируемый интерфейс, интеграция со сторонними приложениями (например, конфликты можно разрешать хоть в Araxis Merge) и многое другое. Думаем, вы уже поняли, что Tower умеет всё, что только может понадобиться при работе с Git, не превращаясь при этом в запутанную головоломку.
Расхваливая Tower, нельзя обойти вниманием и единственный неприятный момент – цену. Это недешёвая программа – увидев ценник в $79, многие могут усомниться в целесообразности таких трат. По нашему субъективному мнению, это действительно дорого.
Есть много бесплатных альтернатив, которые по юзабилити не сильно отстают от Tower, хотя и поддерживают меньше команд (взять хотя бы Github Desktop). Есть Терминал, в котором можно настроить для гита удобные вам алиасы и работать исключительно через командную строку. Разные подходы имеют право на существование, но попробовать Tower в течение пробных 30 дней мы вам однозначно советуем. Скорее всего, впечатления у вас останутся те же – да, дорого, но чертовски удобно. Для сложных проектов (и тем более для параллельной работы на разных проектах) Tower сэкономит и время, и нервы.
P.S. Раз уж мы в обзорах iOS-приложений упоминаем про наличие Android-версии, то в обзоре Mac-приложения стоит упомянуть про Windows-версию. У Tower такая есть, и она тоже довольно мощная по возможностям и простая в освоении.
Источник: appstudio.org
Ansible Tower: Шаблоны потоков заданий Workflow Job Templates
Словосочетание «поток заданий» говорит само за себя. Эта функция Ansible Tower появилась в версии 3.1 и позволяет задать последовательность операций в виде комбинации шаблонов заданий (job templates), а также синхронизаций (syncs) проектов и inventory, а затем выполнять эту последовательность как одно целое. Иными словами, потоки заданий помогают упорядочить плейбуки (playbooks) и шаблоны заданий по отдельным группам.
Рассмотрим, что такое шаблоны потоков заданий, в чем их польза, как их создавать и редактировать, а также ряд других полезных моментов по их использованию.
Чем полезны потоки заданий
Они помогают формализовать и упорядочить взаимодействие команд, например, сетевиков и разработчиков, предоставив им доступ к соответствующим потокам заданий. При этом участникам даже не надо знать состав и порядок выполнения заданий потока, поскольку все это уже настроено тем, кто его создал. Увязывая задания различных типов и унифицируя проекты, потоки заданий избавляют представителей одной команды от необходимости в точности понимать, что делает другая команда, и наоборот.
Кроме того, потоки заданий позволяют увязать абсолютно любое количество плейбуков в алгоритмическую цепочку любой сложности, где выбор следующего для выполнения задания зависит от успеха или неудачи выполнения предыдущего.
Как их создавать
Щелкните Templates в главном меню Ansible Tower:
Затем щелкните Add, и выберите Workflow Template:
Появится экран, где можно указать имя и сохранить шаблон потока заданий:
После того, как закончите, перейдите в Edit Workflow:
Появится экран, где можно добавлять шаблоны заданий и задавать условия их запуска (при ошибке или при успешном выполнении, либо безусловно):
Условия запуска задаются в нижней части панели справа:
Потоки заданий Ansible могут быть как предельно простыми…
… так и очень сложным:
После того, как вы настроите и сохраните шаблон потока заданий, его можно запускать. Для этого достаточно щелкнуть значок с ракетой справа от имени шаблона:
Что еще можно делать с потоками заданий
Их можно запускать по расписанию. Для этого щелкните значок календаря рядом с названием шаблона потока заданий:
… и настройте параметры его автозапуска:
Чтобы скопировать шаблон потока заданий, щелкните значок, помеченный стрелкой на скрине ниже:
Однако, имейте в виду, что при копировании потока заданий его разрешения, уведомления и расписания не копируются.
Если вам нужно задать дополнительные переменные для плейбуков, задействованных в шаблоне потока заданий, и/или организовать ввод информации от пользователя, то это можно сделать с помощью опросов. Чтобы создать Опрос, выберите шаблон потока заданий и щелкните Add Survey:
Появится экран опроса, где можно задать вопросы и указать типы ответов:
Уведомления позволяют отслеживать выполнение потоков заданий. Просто выберите поток заданий, для которого хотите настроить уведомления, и щелкните Notifications:
Обратите внимание, что в списке уведомлений уже есть кое-какие записи. Поэтому на отрывшемся экране надо выбрать то, что вам нужно, например, на скрине мы выбрали уведомление Workflow-Specific Notification, для которого задана активации как при успешном, так и при неудачном запуске:
Примечание: Если при создании нового шаблона потока заданий используется динамический inventory, убедитесь, что для этого inventory включена опция update on launch.
Итак, мы научились создавать дерево решений, комбинируя имеющиеся плейбуки, настраивая запуск входящих в них заданий и создавая уведомления. Особенно приятно, что все эти возможности доступны не только в корпоративной версии Ansible Tower, поэтому вы можете поиграться с потоками заданий прямо сейчас.
Узнать больше о том, как создавать и изменять шаблоны потоков заданий, можно в официальной документации по Ansible, на специальном вебинаре и в комментариях к этому посту.
- Блог компании Red Hat
- Open source
- IT-инфраструктура
- DevOps
Источник: habr.com