Temos um processo automatizado de criação e implantação com base em debootstrap
e apt
para criar arquivos de imagem para um de nossos produtos diretamente após a compilação no servidor de construção.
O sources.list
é um pouco estranho, mas funciona desde que o host alvo não confie na chave GPG para assinar o lançamento:
root@host:/# cat /etc/apt/sources.list
deb http://buildserver.mycompany.com/project/deploy-test ./
Embora a chave não seja confiável, a chamada para apt-get update
funciona e está tudo bem:
root@host:/# cat /etc/apt/sources.list
deb http://buildserver.mycompany.com/project/deploy-test ./
root@host:/# apt-get update
Hit http://buildserver.mycompany.com ./ Release.gpg
Hit http://buildserver.mycompany.com ./ Release
Ign http://buildserver.mycompany.com ./ Release
Ign http://buildserver.mycompany.com ./ Packages/DiffIndex
Hit http://buildserver.mycompany.com ./ Packages
Ign http://buildserver.mycompany.com ./ Translation-en
Reading package lists... Done
W: GPG error: http://buildserver.mycompany.com ./ Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 65F8A65265A41039
root@host:/# echo $?
0
Se eu adicionar a chave do servidor de compilação, as coisas começam a ficar estranhas:
root@host:/# apt-key add /etc/apt/buildserver.gpg
OK
root@host:/# apt-get update
Get:1 http://buildserver.mycompany.com ./ Release.gpg [490 B]
Hit http://buildserver.mycompany.com ./ Release
Fetched 490 B in 0s (17.4 kB/s)
W: Failed to fetch http://buildserver.mycompany.com/project/deploy-test/./Release Unable to find expected entry 'Packages' in Release file (Wrong sources.list entry or malformed file)
E: Some index files failed to download. They have been ignored, or old ones used instead.
root@host:/# echo $?
100
A pesquisa na Internet indicou que o arquivo Packages
está ausente no servidor da Web (não é apenas 200
status responses para todas as solicitações no log do servidor) ou que a soma de verificação está faltando no Release
Arquivo. Mas este não é o caso:
root@host:~$ curl http://buildserver.mycompany.com/project/deploy-test/./Release | grep Packages
dc7048e30031d700ec50c0ea084f69da 606332 Packages
6a601e7da66b2a518bdf901ef95b53b5 171774 Packages.gz
Qualquer dica que possa causar esse comportamento é muito apreciada. Obrigado antecipadamente!
Tags apt deployment