Distribuição de software

Do código-fonte partilhado a uma instalação controlada.

As funcionalidades de distribuição de software da Microwave Pie foram concebidas para facilitar a implementação de aplicações autoalojadas: gerir lançamentos a partir de código-fonte partilhado, criar o pacote adequado para uma instalação, aplicar licenciamento e manter a instalação e as atualizações ligadas a um lançamento conhecido.

Modelo de distribuição partilhado

1Código-fonte partilhado da aplicaçãoUm único histórico de código-fonte e identidade de lançamento.
2Lançamento da plataformaCriar para o destino de instalação pretendido.
Pacote de código-fonte Pacote compilado
3Pacote licenciadoEmitir o pacote para uma implementação específica.
4Instalar e atualizarManter o histórico da instalação ligado ao lançamento entregue.

Funcionalidades

Manter as escolhas de lançamento flexíveis sem perder o controlo.

Ambientes diferentes nem sempre precisam do mesmo formato de pacote ou do mesmo lançamento ao mesmo tempo. A Microwave Pie separa o código-fonte partilhado da aplicação, lançamentos reutilizáveis, pacotes, licenças e instâncias instaladas, para que cada área possa evoluir de forma deliberada.

Código-fonte partilhado

Comece por uma origem Git comum e preserve o commit exato e a versão de fácil leitura associados a um lançamento. Diferentes tipos de instalação podem avançar de forma independente, mantendo-se ligados ao mesmo histórico de código-fonte.

Pacotes de código-fonte

Entregue a aplicação como código-fonte quando a transparência, a execução direta ou uma instalação Python específica da plataforma forem a melhor opção. Os pacotes de código-fonte mantêm o mesmo modelo de lançamento e licenciamento dos pacotes compilados.

Pacotes compilados

Entregue um pacote de aplicação compilado quando for preferível um ambiente de execução mais autónomo. A compilação é uma escolha de distribuição, não uma linha de produto separada, pelo que a proveniência do lançamento permanece consistente.

Gestão de pacotes e licenças

Emita um pacote com a respetiva licença e contexto de instalação de destino já associados. O ciclo de vida do pacote, o estado da licença, os downloads, as instalações, as atualizações, a revogação e o encerramento podem ser geridos em conjunto em vez de reconstruídos posteriormente.

Escolhas de lançamento específicas por destino

Os tipos de instalação Raspberry Pi, GCP, código-fonte e compilado podem permanecer em níveis de lançamento diferentes quando houver motivo para isso. Os commits Git em falta podem ser analisados por tipo de instalação e também em toda a aplicação.

Atualizações geridas pela interface

As aplicações geridas podem indicar automaticamente quando existe uma atualização aprovada sem a impor. Um administrador escolhe quando preparar e aplicar a atualização na interface da aplicação; após o reinício, o lançamento instalado pode ser confirmado junto do serviço de distribuição partilhado, preservando a relação entre Pacote e Licença.

Implementação

Empacote a instalação, não a incerteza.

Um pacote de software pode transportar o contexto de implementação necessário para transformar um lançamento da aplicação numa instalação funcional: plataforma de destino, formato do pacote, comportamento da instalação, identidade do lançamento e relação de licenciamento.

Isto permite que o processo de implementação comece a partir de um lançamento conhecido, em vez de obrigar cada ambiente a recriar de forma independente as decisões de compilação e distribuição. Quando um lançamento mais recente for adequado, a relação existente entre Pacote e Licença pode manter-se intacta enquanto o lançamento selecionado avança de forma deliberada.

Histórico de lançamentos imutável

Os Lançamentos da Aplicação preservam o artefacto e a identidade Git que foram efetivamente criados.

Atualizações controladas pelo administrador

A disponibilidade pode ser anunciada automaticamente, mas descarregar, preparar, aplicar e reiniciar continuam a ser ações deliberadas do administrador.

Licenciamento consciente da instalação

Pacotes, licenças e instâncias instaladas permanecem ligados durante instalação, atualização, revogação e encerramento.

Blackcap

Uma aplicação já utiliza este modelo atualmente.

O Blackcap pode ser instalado em ambientes Raspberry Pi e GCP suportados utilizando pacotes de código-fonte ou compilados, mantendo alinhados o lançamento, o pacote, a licença e o comportamento das atualizações.

Explorar a tecnologia do Blackcap