DevOps na Pratica -- pagina 174 Criando e publicando um pacote nativo

Ola amigos, estou feliz pelos avanços na leitura do Livro, muito bom mesmo esta publicação do Danilo Sato. Nossa ja tenho um jenkins que alem de instalar, tambem se autoconfigura via puppet. demais.

Porem estou enfrentando problemas para provisionar o
CI para instalar o FPM

class loja_virtual::ci {
include loja_virtual
package { [’git’, ’maven2’, ’openjdk-6-jdk’,
’rubygems’]:
ensure => “installed”,
}
package { ’fpm’:
ensure => ’installed’,
provider => ’gem’,
require => Package[’rubygems’],
}

Quando rodo o vragrant up ci:

C:\Users\Alex>vagrant provision ci
==> ci: Installing Puppet modules in “librarian” with
Librarian-Puppet…
==> ci: Running provisioner: puppet…
==> ci: Running Puppet with ci.pp…
==> ci: stdin: is not a tty
==> ci: warning: Could not retrieve fact fqdn
==> ci: err:
/Stage[main]/Apache/Concat[/etc/apache2/ports.conf]/Concat_file[/etc/apache2/ports.conf]:
Failed to generate additional resources using ‘generate’:
Invalid p
==> ci: notice:
/Stage[main]/Apt::Update/Exec[apt_update]/returns: executed
successfully
==> ci: err:
/Stage[main]/Loja_virtual::Ci/Package[fpm]/ensure: change
from absent to present failed: Execution of '/usr/bin/gem
install --include-dependencies --no-rdoc
==> ci: ruby-xz
requires Ruby version >= 1.9.3.
==> ci: INFO: gem install -y is now default and
will be removed
==> ci: INFO: use --ignore-dependencies to install
only the gems you list
==> ci: err:
/Stage[main]/Apache/Concat[/etc/apache2/ports.conf]/Concat_file[/etc/apache2/ports.conf]:
Failed to generate additional resources using
’eval_generate: undef
==> ci: notice: Finished catalog run in 122.17 seconds
The SSH command responded with a non-zero exit status.
Vagrant
assumes that this means the command failed. The output for
this command
should be in the log above. Please read the output to
determine what
went wrong.

C:\Users\Alex>

Alguma imcompatibilidade entre o ruby, e o fpm. No comando
solicita que ignore as dependencias

ci: INFO: use --ignore-dependencies to install only
the gems you list

Voce passou por isto? Acredita que ignorando as
dependências, consiga instalar o fpm?

consegui instalar o fpm, via gem, porem manualmente, e com o usuario root

root@precise32:/usr/bin# gem install fpm --ignore-dependencies
Fetching: fpm-1.8.0.gem (100%)
Successfully installed fpm-1.8.0
1 gem installed
Installing ri documentation for fpm-1.8.0…
Installing RDoc documentation for fpm-1.8.0…

Nao tenho mais esta dependencia, porem, a titulo de automação, esta incorreto.

C:\Users\Alex>vagrant provision ci
==> ci: Installing Puppet modules in “librarian” with Librarian-Puppet…
==> ci: Running provisioner: puppet…
==> ci: Running Puppet with ci.pp…
==> ci: stdin: is not a tty
==> ci: warning: Could not retrieve fact fqdn
==> ci: err: /Stage[main]/Apache/Concat[/etc/apache2/ports.conf]/Concat_file[/etc/apache2/ports.conf]: Failed to generate additional resources using ‘generate’: Invalid p
==> ci: notice: /Stage[main]/Apt::Update/Exec[apt_update]/returns: executed successfully
==> ci: err: /Stage[main]/Apache/Concat[/etc/apache2/ports.conf]/Concat_file[/etc/apache2/ports.conf]: Failed to generate additional resources using 'eval_generate: undef
==> ci: notice: Finished catalog run in 23.34 seconds

C:\Users\Alex>

fpm instalado.

Agora ocorre um misterio: Se provisiono a ci, com o config.xml, com as configurações para o fpm, simplesmente ao reprovisionar a maquina ci, a job desaparece do jenkins, sem esta todos os reprovisionamentos, o job é configurado normalmente no jenkins, automaticamente.

<?xml version=’1.0’ encoding=’UTF-8’?> ...

fpm -s dir -t deb -C combined/target --prefix
/var/lib/tomcat7/webapps/ -d tomcat7 -n devopsnapratica
\ -v $BUILD_NUMBER.master -a noarch devopsnapratica.war
\ && reprepro -V -b <%= repo_dir %> includedeb
\ <%= repo_name %> *.deb

SUCCESS 0 BLUE true

Tentando entender.