Skip to content
Gustavo Moraes edited this page Jan 10, 2017 · 2 revisions

Documento de Visão / Requisitos do Node.js-deb

  1. Introdução

A ideia do Node.js-deb é de fazer um repositório para pacotes do Node.JS pré-compilados para Linux sempre atualizados, construindo pacotes instaláveis .deb serem criados sempre que houver uma atualização no site oficial do Node.JS.

Para que o Node.JS seja mais fácil de ser instalado no Linux, assim como é fácil de ser instalado no Windows (com os pacotes instaláveis .msi / .exe oficiais deles), basicamente deve ser criado um script que automatiza um processo de integração e entrega contínua dele para essa plataforma de forma não-oficial.

1.1. Referências

  1. Requisitos

O sistema...

  1. Identifica uma nova versão do Node.JS no repositório do site (verificando continuamente esta página).

  2. Faz download dos Linux Binaries (32-bit e 64-bit) – arquivos .tar.xz – em uma pasta qualquer do servidor

  3. Extrai os Linux Binaries (32-bit e 64-bit) para as pastas node-linux-x86 e node-linux-x64 (respectivamente)

  4. Cria, move, faz chmod/chown, etc. dos arquivos (entre outras adaptações), para o Node.JS entrar de acordo com os padrões de estrutura de pastas de sistemas UNIX-like e com os padrões de criação de Debian packages

  5. Usa o quick-deb-builder para criar os pacotes .deb do Node.JS

  6. Cria commit dos novos arquivos no repositório no GitHub

  7. Cria tag com o número da nova versão do Node.JS no repositório no GitHub

  8. Envia os dois .deb criados para a Internet numa nova release no GitHub.

  9. Outros requisitos do produto


  • Usar o Travis CI como servidor de integração e entrega contínua, com o script ativado diariamente via cron job (imagem)

ou...

ou...

  • Usar um servidor na DO para executar o script continuamente e armazenar/disponibilizar os pacotes para download público (paga mensalidade).
  1. Requisitos futuros

  • Lançar pacotes .deb do Node.JS em outras plataformas de repositório de pacotes, como:
    • No Launchpad (gratuito/open-source, faz ficar o pacote disponível para qualquer um pelo apt-get mas eu nunca consegui enviar nada para aquele troço – complicado e burocrático demais)

      ou...

    • Num packagecloud (pago)
  • Fazer pacotes RPM (.rpm)
  • Fazer pacotes Snappy (.snap)
Clone this wiki locally