O que é Snapcraft?

O que é Snapcraft?

Tenho experimentado o rápido núcleo do Ubuntu em um dispositivo Raspberry Pi 2 e ouvi dizer que posso usar o Snapcraft para desenvolvê-lo. Agora ouvi dizer que os snaps estão disponíveis no desktop e no servidor para Ubuntu 16.04 e outras distros.

O que é Snapcraft e como posso usá-lo?

Responder1

Snapcraft é umkit de ferramentasempacotado sob o snapcraftcomando para facilmentecriar (criar) pacotes para múltiplas distribuições Linux. Esses pacotes .snap geralmente contêm aplicativos independentes, fornecem isolamento seguro e podem ser instalados na Ubuntu Software Store ou manualmente por meio do snap install <snap-name>.snapcomando.

Resumindo, como desenvolvedor, você escreveria o código usando suas ferramentas normais e deixaria o Snapcraft cuidar de montá-lo para distribuição. Snapcraft também se destaca por permitir que desenvolvedoresportaseus aplicativos existentes para qualquer plataforma Linux habilitada para snap.

Snapcraft:

  • É inteligente: busca, constrói e monta diversos softwares (peças) de fontes remotas em um pacote .snap final, que contém todas as dependências necessárias para funcionar
  • Precisa de uma receita: depende de um snapcraft.yamlarquivo que especifica opeçaseplug-insnecessário para criar o pacote
  • É extensívelcom plug-ins. Embora seja fornecido com um conjunto dos plug-ins de sistema de compilação mais comuns para atender a uma ampla variedade de compilações de aplicativos, pode serfacilmente estendido com novos.

O tour Snapcraft de 3 minutos

Instale o Snapcraft no Ubuntu

Você precisará do Ubuntu 16.04 LTS para usar o Snapcraft. Abra um terminal com Ctrl+ Alt+ te simplesmente instale o Snapcraft com este comando:

sudo apt install snapcraft
sudo apt install build-essential  # Optional, but useful for different builds

Se você estiver usando outra distro,confira as instruções alternativas de instalação >

Teste o Snapcraft

O exemplo a seguir cria um pacote que contém um serviço que permite colar e compartilhar. Quando terminar, você pode instalá-lo manualmente em seu dispositivo rápido para fins de teste ou carregá-lo na Loja para outros usuários.

Primeiramente abrimos um terminal e baixamos o exemplo do repositório de exemplos:

sudo apt install git
git clone https://github.com/ubuntu-core/snapcraft.git
cd snapcraft/demos/gopaste

Observe o snapcraft.yamlarquivo nesse diretório, que especifica um serviço e as peças necessárias para montar o .snap final. Opcionalmente, você pode examiná-lo com um editor de texto.

Agora execute o snapcraftcomando no terminal. Isso fará com que todos os subcomandos do snapcraft sejam executados em sequência para construir as peças e colocar os resultados no pacote .snap final. Durante o desenvolvimento, você normalmente executaria as etapas separadamente até ter certeza de que toda a construção e montagem funcionam.

$ snapcraft 
Pulling gopaste 
env GOPATH=/tmp/snapcraft/examples/gopaste/parts/gopaste/build go get -t -d github.com/wisnij/gopaste/gopasted
Building gopaste 
env GOPATH=/tmp/snapcraft/examples/gopaste/parts/gopaste/build go build github.com/wisnij/gopaste/gopasted
env GOPATH=/tmp/snapcraft/examples/gopaste/parts/gopaste/build go install github.com/wisnij/gopaste/gopasted
env GOPATH=/tmp/snapcraft/examples/gopaste/parts/gopaste/build cp -a /tmp/snapcraft/examples/gopaste/parts/gopaste/build/bin /tmp/snapcraft/examples/gopaste/parts/gopaste/install
Staging gopaste 
Snapping gopaste 
Generated 'gopaste_1.0_amd64.snap' snap

Na saída do comando você pode ver as etapas que o Snapcraft executa para você:

  1. Puxar: extrai o código da parte necessária do gopaste de um repositório remoto do Github
  2. Construir: ele cria gopaste localmente
  3. Estágio: após a construção, as peças são colocadas em uma única árvore de diretórios, a "área de teste"
  4. Foto: o pacote .snap final é criado a partir das peças montadas na área de preparação

Notas:

  • Você encontrará o arquivo snap final como gopaste_1.0_amd64.snap(observe que no meu caso eu o construí em meu desktop amd64, por exemplo, os pacotes Raspberry Pi 2 teriam o _armhfsufixo de arquitetura).
  • Você também pode executar cada comando individualmente : snapcraft pull, snapcraft buildousnapcraft stagesnapcraft snap
  • Use snapcraft -hpara uma visão geral rápida de todos os comandos disponíveis.

E é isso para uma rápida visão do que o Snapcraft pode fazer!Saiba mais sobre o Snapcraft >

informação relacionada