<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Vsix | The .NET Blog</title><link>https://thedotnetblog.com/ru/tags/vsix/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>ru</language><managingEditor>@thedotnetblog (The .NET Blog)</managingEditor><webMaster>@thedotnetblog</webMaster><lastBuildDate>Thu, 23 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/ru/tags/vsix/index.xml" rel="self" type="application/rss+xml"/><item><title>Командам расширений Visual Studio пора перестать выпускать по привычке и начать выпускать через пайплайн</title><link>https://thedotnetblog.com/ru/news/emiliano-montesdeoca/visual-studio-extension-ci-with-github-actions/</link><pubDate>Thu, 23 Jul 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ru/news/emiliano-montesdeoca/visual-studio-extension-ci-with-github-actions/</guid><description>Повторяемый поток GitHub Actions для версионирования и публикации VSIX теперь достаточно прост, чтобы ручные шаги релиза было трудно оправдать.</description><content:encoded>&lt;p&gt;Оригинальный источник: &lt;a href="https://devblogs.microsoft.com/visualstudio/automating-your-visual-studio-extension-builds-with-github-actions/"&gt;Automating your Visual Studio extension builds with GitHub Actions&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Если вы поддерживаете расширения Visual Studio и все еще выполняете значительные части релиза вручную, это ваш сигнал к модернизации.&lt;/p&gt;
&lt;p&gt;Рабочий процесс, показанный в этом посте, намеренно практичен: проставить версию, собрать, опубликовать тестовые артефакты в галерею, затем опубликовать стабильные сборки в Marketplace. Никакой тяжелой платформенной церемонии, только детерминированное релизное поведение.&lt;/p&gt;
&lt;p&gt;Что мне больше всего нравится — версионирование рассматривается как состояние пайплайна, а не пункт предрелизного чеклиста. Это одно решение устраняет удивительное количество ошибок: несовпадающие метаданные, устаревшие версии сборок и несогласованные релизные заметки.&lt;/p&gt;
&lt;p&gt;Разделение между публикацией в галерею и публикацией в Marketplace также операционно зрело. Командам нужно место для быстрых валидационных сборок, которые не несут семантику официального релиза. Публикация всего напрямую в Marketplace — это высокое трение, поощряющее рискованные сокращения.&lt;/p&gt;
&lt;p&gt;Сильный релизный паттерн для команд расширений:&lt;/p&gt;
&lt;p&gt;На pull request и коммиты в main — создавайте CI VSIX-артефакты и публикуйте в галерею для тестировщиков.&lt;/p&gt;
&lt;p&gt;На тегированные релизы — публикуйте подписанные и проверенные пакеты в Marketplace.&lt;/p&gt;
&lt;p&gt;Минимизируйте управление токенами с выделенными секретами и областями с минимальными привилегиями.&lt;/p&gt;
&lt;p&gt;Мое категоричное мнение: экосистемы расширений отстают от экосистем приложений в дисциплине CI, потому что маленькие команды считают ручные воркфлоу управляемыми. Они управляемы до тех пор, пока не перестают быть таковыми. Один поспешный патч, один сломанный пакет, одно забытое обновление манифеста — и доверие падает.&lt;/p&gt;
&lt;p&gt;Эти переиспользуемые действия полезны, потому что они кодируют повторяющуюся релизную логику один раз и позволяют командам сосредоточиться на качестве расширения вместо механики упаковки.&lt;/p&gt;
&lt;p&gt;Инженерное суждение все еще требуется. Вы должны защитить публикацию в Marketplace проверками качества и рассматривать манифесты публикации как аудированные релизные артефакты. Но базовая сложность пайплайна теперь достаточно низка, чтобы ручные релизы были в основном техническим долгом.&lt;/p&gt;
&lt;p&gt;Если вы руководите разработкой расширений, стандартизируйте это сейчас во всех репозиториях. Вы получите лучшую прослеживаемость, более легкий онбординг и меньше узких мест в релизе, зависящих от одного человека.&lt;/p&gt;
&lt;p&gt;Предлагаемое развертывание:&lt;/p&gt;
&lt;p&gt;Начните со сборки плюс публикации в галерею для одного расширения.&lt;/p&gt;
&lt;p&gt;Введите простановку версий после валидации ваших конвенций источника манифеста.&lt;/p&gt;
&lt;p&gt;Добавьте публикацию в Marketplace только после того, как управление секретами и релизные гейты будут на месте.&lt;/p&gt;
&lt;p&gt;Это не о погоне за модой DevOps. Это о надежности для людей, которые устанавливают ваши инструменты и ожидают, что обновления будут работать.&lt;/p&gt;
&lt;p&gt;Стабильные экосистемы расширений строятся так же, как стабильные приложения: с помощью скучной, повторяемой автоматизации, которая устраняет человеческие догадки.&lt;/p&gt;</content:encoded></item></channel></rss>