-
Notifications
You must be signed in to change notification settings - Fork 0
Home
- 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.
- Documento de Visão para um Projeto de Requisitos - IBM http://webcache.googleusercontent.com/search?q=cache:VANO2lK8nA0J:www.ibm.com/support/knowledgecenter/pt-br/SSCP65_4.0.7/com.ibm.rational.rrm.help.doc/topics/r_vision_doc.html+&cd=4&hl=pt-BR&ct=clnk&gl=br
- Requisitos
O sistema...
-
Identifica uma nova versão do Node.JS no repositório do site (verificando continuamente esta página).
-
Faz download dos Linux Binaries (32-bit e 64-bit) – arquivos
.tar.xz
– em uma pasta qualquer do servidor -
Extrai os Linux Binaries (32-bit e 64-bit) para as pastas
node-linux-x86
enode-linux-x64
(respectivamente) -
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 -
Usa o quick-deb-builder para criar os pacotes .deb do Node.JS
-
Cria commit dos novos arquivos no repositório no GitHub
-
Cria tag com o número da nova versão do Node.JS no repositório no GitHub
-
Envia os dois
.deb
criados para a Internet numa nova release no GitHub. -
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...
- Usar o AWS Lambda com um gatilho: "atualização desta página -> executa script" (gratuito para testar)
ou...
- Usar um servidor na DO para executar o script continuamente e armazenar/disponibilizar os pacotes para download público (paga mensalidade).
- 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)
- No Launchpad (gratuito/open-source, faz ficar o pacote disponível para qualquer um pelo
- Fazer pacotes RPM (
.rpm
) - Fazer pacotes Snappy (
.snap
)