Este documento está destinado a servir de guía para que los mantenedores realicen tareas comunes.
Lanzamiento
Tipos de liberación
- borrador : Continúa instantánea del actual maestro, hecho por los servicios de CI
- pre-liberación (por defecto): Continúa instantánea del maestro actual, hecha por los servicios de CI
- Lanzamientos completos
La versión de borrador se crea de cada PR, etiquetado con el nombre de la sucursal.
Todas las relaciones públicas fusionadas generarán una nueva etiqueta/versión como pre-lanzamiento.
Marque la pre-liberación como final cuando sea necesario, luego distribuya los paquetes en canales alternativos según sea necesario.
Preparación
- Preparar la nueva versión
- Generar artefactos de construcción (binarias, archivos, etc.)
- Redar borradora una versión en GitHub
- Subir artif factos de construcción en borrador de lanzamiento de GitHub
Pruebas
- Pruebe la liberación preparada y construye artefactos correctamente en todos los sistemas operativos soportados para evitar retrocesos que no fueron atesorados por las pruebas de CI (véase MANUAL-TESTING.md)
- Si surgen regresiones u otras cuestiones, cree problemas en el repositorio para cada uno, y decida si los arregla en esta versión (lo que significa repetir el proceso hasta este punto), o para hacer un seguimiento con una versión de parche
Publicación
- Publica borrador de lanzamiento en GitHub
- Nota de publicación a foros
- Envíen binarios de Windows a Symantec para la lista blanca
- Actualizar el sitio web
- Espere 2-3 horas para que la analítica (Ingreso, Amplitude) se suba y compruebe las tasas de error elevadas, o las regresiones
- Si surgen retrocesos; tire de la liberación y suelte una versión remendada, de lo contrario:
- Subir paquetes deb & rpm a Cloudfront
- Post changelog con
#release-notes
tag en el chat interno - Si esta versión envasa cambios importantes notables:
- Escriba una entrada de blog sobre ello, y / o
- Escriba sobre ello a la lista de correo de Etcher
Generando binarios
Medio ambiente
Asegúrese de establecer los tokens analíticos al generar binarios de liberación de producción:
export ANALYTICS_SENTRY_TOKEN="xxxxxx"
export ANALYTICS_AMPLITUDE_TOKEN="xxxxxx"
Linux
Carpeta limpia
Suprímata .webpack
y out/
.
Generando artefactos
Los artefactos son generados por la CI y publicados como borrador-lanzamiento o pre-lanzamiento.
Etcher está construido con la ervida electrónica. Corre:
npm run make
Nuestro CI firmará adecuadamente artefactos para macOS y algunos objetivos de Windows.
Subir paquetes a Cloudfront
Inicie sesión en la nube y suba el rpm
y deb
Archivos.
Lidiar con una liberación problemática
Puede haber momentos en los que una liberación está accidentalmente plagada de insectos. Si tú
lanzó una nueva versión y notar que las tasas de error son más altas de lo normal, luego
reverte la liberación problemática tan pronto como sea posible, hasta que los errores se arreglen.
Puedes revertir una versión borrando sus construcciones del cubo S3 y Bintray.
Consulte la Makefile
para la información actualizada sobre el cubo S3
donde empujemos a construir, y pónganse en contacto con el equipo de operaciones de balena.io a
Echa un acceso a la escritura.
El cuadro de diálogo notificante de actualización de Etcher y el sitio web sólo muestran el cierto
versión si todos los archivos esperados se han subido a él, así que bote una
Un solo paquete o dos es suficiente para derribar toda la versión.
Utilizar el siguiente comando para eliminar archivos de S3:
aws s3api delete-object --bucket <bucket name> --key <file name>
El salpicadero de Bintray proporciona una manera fácil de borrar los archivos de una versión.
Presentando binarios a Symantec
- Denuncian a sospechoso detección eronosa
- Rellene la forma:
- Seleccionar el tipo de envío: «Provierte una URL de descarga directa»
- Nombre del software detectado: Etcher
- Nombre de detección dado por el producto Symantec: WS.Reputation.1
- Nombre de contacto: Balena.io Ltd
- Dirección de correo electrónico: hello.etcher.io
- Eres el creador o distribuidor del software en cuestión? Sí,