Empaquetar y publicar extensiones

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Una vez que desarrolle la extensión, puede empaquetar y publicarla en Visual Studio Marketplace. Marketplace es un repositorio global para extensiones, integraciones y otras ofertas privadas y públicas de Microsoft.

Nota:

Para obtener información sobre las propiedades de detección disponibles en el archivo de manifiesto de la extensión que ayuda a los usuarios a detectar y obtener información sobre la extensión, consulte la Referencia del manifiesto de extensión.

Requisitos previos

Se debe cumplir la siguiente lista de requisitos antes de publicar en Marketplace.

  • Instale la herramienta de empaquetado de extensiones (TFX). Ejecute npm install -g tfx-cli desde un símbolo del sistema.
  • Asegúrese de que se conceden los permisos adecuados para usar cualquier imagen, por ejemplo, iconos, logotipos, capturas de pantalla, etc.
  • Incluya un archivo completo overview.md para describir su descripción en Marketplace.
  • Incluya un icono para la extensión, que tiene al menos un tamaño de 128 x 128 píxeles.
  • Al hacer referencia a productos de Microsoft, use nombres completos en lugar de abreviaturas, por ejemplo, Azure DevOps frente a AzDO o , cualquier otra abreviatura.
  • Absténgase de usar nombres de marca en el nombre de la extensión.

Crear un editor

Todas las extensiones e integraciones, incluidas las extensiones de Microsoft, tienen un publicador. Cualquier persona puede crear un publicador y publicar extensiones en él. También puede conceder a otras personas acceso a su publicador si un equipo está desarrollando la extensión.

Un usuario posee el publicador, normalmente el usuario que lo creó. También puede compartir el publicador con otros usuarios.

  1. Inicie sesión en el Portal de publicación de Visual Studio Marketplace.

  2. Si aún no es miembro de un publicador existente, + Crear un publicador. Escriba un nombre en el campo nombre del publicador. El campo id. debe establecerse automáticamente en función del nombre especificado.

    Captura de pantalla que muestra el botón resaltado Crear publicador.

    Nota:

    Anote el identificador, ya que debe establecerlo en el archivo de manifiesto de la extensión.

    Si no se le pide que cree un publicador, desplácese hacia abajo hasta la parte inferior de la página y seleccione Publicar extensiones debajo de Sitios relacionados.

    • Especifique un identificador para el publicador, por ejemplo: mycompany-myteam. Este identificador se usa como valor para el atributo en el publisher archivo de manifiesto de extensión.
    • Especifique un nombre para mostrar para el publicador, por ejemplo: My Team
  3. Revise el Contrato de publicador de Marketplace y, a continuación, seleccione Crear.

    Creación de publicador para la extensión

Una vez creado el publicador, se le dirigirá a administrar elementos, pero no hay ningún elemento.

Empaquetado de la extensión

Para cargar la extensión, debe empaquetarla como un archivo .vsix compatible con VSIX 2.0. Microsoft proporciona una interfaz de línea de comandos (CLI) multiplataforma para empaquetar y publicar la extensión.

  1. Abra el archivo de manifiesto de extensión (vss-extension.json) y establezca el valor del publisher campo en el identificador del publicador. Por ejemplo:

    {
        ...
        "id": "my-first-extension",
        "publisher": "AnnetteNielsen",
        ...
    }
    
  2. Desde un símbolo del sistema, ejecute el comando de empaquetado de la herramienta TFX desde el directorio de extensión.

    npx tfx-cli extension create
    

    Aparece un mensaje que indica que la extensión se ha empaquetado correctamente:

    === Completed operation: create extension ===
    - VSIX: C:\my-first-extension\AnnetteNielsen.my-first-extension-1.0.0.vsix
    - Extension ID: my-first-extension
    - Extension Version: 1.0.0
    - Publisher: AnnetteNielsen
    

Nota:

La versión de una extensión o integración debe incrementarse en cada actualización.
Si no ha incrementado la extensión o integración en el manifiesto, debe pasar el modificador de --rev-version línea de comandos. Esto incrementa el número de versión de revisión de la extensión y guarda la nueva versión en el manifiesto.

Comprobación del tamaño del paquete

Compruebe el tamaño de vsix después de empaquetarlo. Si es mayor que 50 MB, debe optimizarlo. Para ello, consulte las consideraciones siguientes:

  • Desduplica las dependencias comunes, si las hay, al indicarlas una vez en el paquete de extensión.
  • Capturar elementos en tiempo de ejecución o durante la instalación en lugar de proporcionarlo dentro del paquete. Considere la posibilidad de usar la biblioteca del instalador de herramientas para extraer dependencias de herramientas en tiempo de ejecución. El uso de la biblioteca ofrece ventajas en las que la herramienta se almacena en caché por versión para que los agentes privados no descarguen todas las compilaciones. Lo hemos convertido en una biblioteca para que se pueda usar fuera de las tareas del instalador de herramientas. Pero la tarea no funciona en escenarios desconectados (sin Internet), que deben estar en la descripción o documentos de la tarea.
  • Algunos usuarios tienen éxito con WebPack para agitar sus dependencias en sus tareas.

Publicación de la extensión

Una vez empaquetada la extensión, puede cargarla en Marketplace en un publicador. El publisher identificador especificado en el archivo de manifiesto de la extensión debe coincidir con el identificador del publicador en el que se carga la extensión.

  1. En el portal de administración, seleccione el publicador en el menú desplegable de la parte superior de la página.

  2. Seleccione Nueva extensión>de Azure DevOps.

    Captura de pantalla que muestra el menú desplegable Nueva extensión y la selección de Azure DevOps resaltada.

  3. Arrastre y coloque el archivo o selecciónelo para buscar el archivo VSIX, que creó en el paso de empaquetado anterior y, a continuación, elija Cargar.

    Captura de pantalla que muestra la carga de la nueva extensión para Azure DevOps.

    Después de la validación rápida, la extensión aparece en la lista de extensiones publicadas. No se preocupe, la extensión solo es visible para usted.

    Captura de pantalla que muestra la extensión en la lista de extensiones publicadas.

En este momento, la extensión no es visible para ninguna cuenta y no se puede instalar hasta que la comparta.

Nota:

Microsoft ejecuta un examen de virus en cada paquete de extensión nuevo y actualizado publicado. Hasta que el examen esté claro, no publicamos la extensión en Marketplace para su uso público. De este modo, también evitamos exponer contenido inapropiado o ofensivo en las páginas de Marketplace.

Compartir la extensión

Debe compartir la extensión con una organización para poder instalarla en Azure DevOps. Para compartir una extensión, realice las siguientes tareas:

  1. En el portal de administración de Marketplace, seleccione la extensión en la lista, haga clic con el botón derecho y, después, elija Compartir,No compartir o Publicar/Cancelar publicación, en función de la extensión.

    Captura de pantalla de la selección del menú, Compartir/No compartir.

  2. Seleccione Organización y escriba el nombre de la organización. Seleccione Entrar.

    Captura de pantalla del botón Entrar.

  3. Cierre el panel.

La extensión ahora se puede instalar en esta organización.

Instalación de la extensión

Para instalar la extensión compartida, siga estos pasos.

  1. En Marketplace, seleccione la extensión para abrir su página de información general.

    Captura de pantalla de la página Información general.

    Nota:

    Dado que la extensión es privada, solo usted y cualquier miembro de la organización con la que se comparte puede ver esta página.

  2. Seleccione Obtener gratis para iniciar el proceso de instalación. Seleccione la organización con la que ha compartido la extensión en el menú desplegable.

    Captura de pantalla que muestra el cuadro de diálogo de instalación de la extensión.

  3. Seleccione Instalar.

Felicidades. Ha instalado la extensión en una organización y está listo para probarla.

Prueba de la extensión

  1. Seleccione Continuar con la organización al final del Asistente para la instalación para ir a la página principal de la organización en la que se instaló la extensión (https://dev.azure.com/{organization}).

  2. Actualice el explorador.

  3. Abra Configuración de la organización y, a continuación, seleccione Extensiones.

    Captura de pantalla de la configuración de la organización, página Extensiones.

Debería ver la nueva extensión en la pestaña Instalado .

Depuración de la extensión

Para depurar la extensión mediante Visual Studio o Browser Developer Tools, cambie el manifiesto agregando la baseUri propiedad . Esta acción acelera el desarrollo sin necesidad de volver a implementar la extensión cada vez que cambie el código fuente.

{
    ...
    "baseUri": "https://localhost:44300",
    ...
}

Al cambiar el manifiesto, carga la extensión desde la instancia del servidor web local. Por ejemplo, IISExpress en Visual Studio. Después de cambiar el manifiesto, implemente e instale esta extensión de depuración solo una vez.

Nota:

Ejecute el servidor web local en modo SSL porque Azure DevOps exige que la página web se sirva desde un origen seguro. De lo contrario, se produce un error en la consola del explorador durante la carga de la extensión IFRAME.

Actualización de la extensión

Para cambiar una extensión que ya está publicada, actualícela.

Sugerencia

Se recomienda actualizar la extensión a través de quitar y volver a cargar. También se recomienda tener dos extensiones, por ejemplo, publisher.extension y publisher.extension-dev. Publisher.extension es público en Marketplace, donde los clientes pueden instalarlo en sus organizaciones de Azure DevOps. Publisher.extension-dev se mantiene privado en Marketplace y se puede compartir con una organización que posee y controla. No es necesario mantener dos copias del código fuente de la extensión. Puede mantener dos archivos de manifiesto: uno para cada extensión y durante el empaquetado de la extensión puede proporcionar el archivo de manifiesto correspondiente a la herramienta tfx-cli. Para obtener más información sobre los argumentos necesarios para la herramienta, vea Comandos de extensión de TFX.

  1. Seleccione una extensión en la lista de elementos mostrados.
  2. Haga clic con el publisher.extension-devbotón derecho y seleccione Actualizar para , por ejemplo.
  3. Valide la extensión.
  4. Realice las mismas actualizaciones en la versión de producción, publisher.extension, por ejemplo.
  5. Vaya a .vsix para la extensión y cárguelo.

La versión actualizada de la extensión se instala automáticamente en las cuentas que ya lo tienen instalado. Las nuevas cuentas en las que se instala la extensión en el futuro también reciben la versión más reciente.

Hacer que la extensión sea pública

Mientras desarrolla la extensión o la integración para Marketplace, manténgala privada. Para que la extensión esté disponible públicamente, establezca la marca true pública en el manifiesto.

Cualificaciones

Para tener una lista pública en Marketplace, la integración o la extensión deben cumplir las siguientes calificaciones:

  • Funciona con o amplía Azure DevOps.
  • Usted o su empresa, poseen, desarrollan y tienen licencia para distribuir y anunciar la integración o la extensión.
  • La extensión o integración se mantiene activamente.

Microsoft también puede solicitar una demostración y revisar el contenido planeado para la entrada de Marketplace.

Publicador superior

El programa Top Publisher solo está disponible para publicadores con extensiones o integraciones de Azure DevOps. No es aplicable a los editores de extensiones IDE de Visual Studio y Visual Studio Code.

Captura de pantalla del distintivo del publicador superior.

El programa Top Publisher reconoce a los editores con compromiso con sus clientes y Marketplace a través de directivas ejemplares, calidad, confiabilidad y soporte técnico. Una vez que se convierta en publicador superior, todas las ofertas públicas muestran el distintivo de Publicador superior.

Requisitos principales del publicador

El programa Top Publisher de Marketplace está diseñado para ayudarle a evaluar o adquirir extensiones e integraciones de Azure DevOps con confianza. El distintivo top publisher implica que el publicador muestra el compromiso con sus clientes y Marketplace a través de directivas ejemplares, calidad, confiabilidad y soporte técnico. Es para publicadores con una o varias extensiones o integraciones globales de Azure DevOps y no es aplicable a los editores de extensiones de Visual Studio IDE y Visual Studio Code.

Marketplace asigna el distintivo a un publicador después de revisar cuidadosamente el publicador en los parámetros siguientes:

  • Directiva de privacidad
  • Directiva de licencias
  • Directiva de soporte técnico
  • Documentación
  • Capacidad de respuesta de Q y A
  • Clasificaciones y revisión de sus ofertas
  • Participación activa y recuento de instalación para sus ofertas
  • Administre al menos una extensión pública de Azure DevOps desde el publicador.
  • La extensión pública debe tener más de 5000 instalaciones, con un recuento de instalación activo superior a 1000.

Puede esperar soporte técnico oportuno y una buena experiencia general cuando obtenga una extensión de un publicador superior. Consulte las ofertas de los principales publicadores.

Para obtener más información sobre cómo agregar directivas a la oferta, consulte el manifiesto de extensión.

  1. Actualice el perfil del publicador.

    A través del perfil del publicador, puede mostrar todas sus ofertas en un solo lugar junto con la información relacionada con el publicador clave. Para proporcionar la información, que aparece en el perfil, siga estos pasos:

    a. Inicie sesión para https://marketplace.visualstudio.com/manage/publishers usar la cuenta con la que publica y administra las ofertas en Visual Studio Marketplace.

    b. Seleccione el publicador y complete la sección Acerca de usted en la pestaña Detalles . Captura de pantalla de la sección sobre usted para publicadores de Microsoft. c. Guarde los cambios y seleccione Ver perfil para ver cómo parece a los consumidores. Puede usar esta página de perfil para evangelizar las ofertas.

Nota:

A través de este programa, es el editor que está siendo certificado. Esto no cubre el software ni la seguridad de sus extensiones e integraciones. Le recomendamos que tenga en cuenta la información de seguridad al evaluar las ofertas de un publicador.

Si tiene una extensión de un publicador superior y no está satisfecho con su experiencia, considere la posibilidad de interactuar con el publicador primero.

Aplicar para que sea un publicador superior

  1. Inicie sesión para https://marketplace.visualstudio.com/manage/publishers usar la cuenta con la que publica y administra las ofertas en Marketplace.
  2. Seleccione el publicador y vaya a su pestaña Publicador superior . Nota: debe tener una o varias extensiones globales de Azure DevOps (servidor/servicio) o integración para que aparezca la pestaña.
  3. Si cumple parte de los requisitos enumerados anteriormente y es el propietario del editor, verá una opción para solicitar el programa. En la aplicación, se envía un correo electrónico al equipo de Marketplace para revisar el caso. Responden en menos de 10 días laborables con los pasos siguientes, aclarando preguntas o con la concesión del distintivo.

Es probable que el equipo examine otros parámetros, como la participación activa de sus ofertas, los recuentos de instalación y introducción y las clasificaciones y las opiniones en todas las ofertas antes de conceder el distintivo. Microsoft se reserva el derecho de conceder, rechazar o revocar el distintivo del publicador superior en cualquier momento.

Una vez que un publicador es un publicador principal, todas sus futuras actualizaciones y ofertas deben cumplir los requisitos enumerados anteriormente.

Responder a las revisiones de extensiones de Marketplace

Puede responder a las revisiones que los clientes dejan para las extensiones en Visual Studio Marketplace. Busque y seleccione Responder junto a una revisión si tiene uno de los permisos siguientes: propietario, creador o colaborador.

Solo puede dejar una respuesta. Evite usar revisiones como foro de soporte técnico. Si necesita más detalles, proporcione un alias de soporte técnico para que el revisor se comunique. Después, puede resolver sus problemas externamente y actualizar la respuesta con una resolución.

Directrices para las respuestas del publicador

Mantenga Visual Studio Marketplace en un lugar abierto, acogedor, respetuoso y útil para que los clientes encuentren, prueben, instalen y revisen extensiones. La comunicación desempeña un papel importante en mantener una comunidad sana. Para ayudar a crear este entorno, estas son las directrices para los publicadores que responden a las revisiones de los clientes. Piense profundamente en las interacciones de los clientes y refleje el espíritu de la experiencia del cliente que Marketplace está intentando crear.

  • Las revisiones están reservadas para los comentarios de los clientes. Use Responder solo para responder a una revisión.
  • Las revisiones son para compartir opiniones de los clientes, por lo que todas las opiniones son válidas. Los clientes tienen derecho a sus opiniones, por lo que tratan los comentarios de forma respetuosa como comentarios sin debate, crítica o argumento.
  • Asegúrese de que las respuestas agregan valor y son relevantes para los comentarios de los clientes.
  • Céntrese en abordar con precisión preguntas o problemas. Si necesita más detalles, pida al cliente que se comunique con usted por correo electrónico, en lugar de discutir en las revisiones. Al resolver el problema, actualice la respuesta con la resolución. Puede editar la respuesta, al igual que los clientes pueden editar sus revisiones.
  • Si se encuentra con cualquier revisión inapropiada, como correo no deseado, abusivo o contenido ofensivo, para cualquier extensión, marcarlo para nuestra revisión.

Solicitud para anular una revisión

Como publicador, puede recurrir a la anulación de una revisión si el problema notificado se debe a Marketplace o a la plataforma subyacente. Si el problema es válido, los administradores de Marketplace anulan la clasificación. Puede recurrir desde clasificaciones y revisar la sección en la página del centro de extensión.

Anular la publicación de una extensión

Puede cancelar la publicación de extensiones gratuitas si ya no quiere ofrecerlas en Marketplace.

Los escenarios siguientes abarcan cuándo puede quitar la extensión de Marketplace:

  • Ha desarrollado otra extensión y ya no quiere ofrecer la actual.
  • La extensión tiene un problema, por lo que quiere quitar la extensión de Marketplace hasta que resuelva el problema.
  • Publicó su extensión como pública por error.

Se deben cumplir determinados criterios para que una extensión no se haya publicado o eliminado:

Action Requisitos
Cancelar publicación Solo las extensiones gratuitas pueden no publicarse.
Remove La extensión debe tener cero (0) instalaciones que se van a quitar.

Importante

Si debe quitar la extensión debido a problemas legales o de seguridad, póngase en contacto con el servicio de atención al cliente en la Comunidad de desarrolladores. Revisamos la solicitud y eliminamos manualmente la extensión.

  1. Seleccione la extensión en la página del publicador y elija Cancelar publicación en el menú.

    La extensión no se publica inmediatamente desde Marketplace y los nuevos usuarios no pueden instalarla. Las clasificaciones y opiniones de su extensión permanecen intactas.

Para volver a ofrecer la extensión en Marketplace, elija Publicar en el menú.

También puede optar por quitar completamente la extensión de Marketplace si la extensión tiene cero (0) instalaciones. Para ello, elija Quitar en el menú. Esta acción no se puede deshacer.