2017-02-01 16 views
0

У меня есть следующий скрипт шеф-повара 12, который я запускаю на aws opsworks для установки jenkins. Я источников его со следующего сайта: https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu Когда я запускаю его, он не со следующей ошибкой:шеф-повар 12 скрипт на AWS opsworks, неспособный установить jenkins

execute 'add jenkins source to apt' do 
    command "wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add -" 
end 


file '/etc/apt/sources.list.d/jenkins.list' do 
    content 'deb http://pkg.jenkins.io/debian-stable binary/' 
end 

execute 'update apt-get' do 
    command 'apt-get update' 
end 


package 'install Jenkins' do 
    package_name "jenkins" 
end 

package 'install nginx' do 
    package_name 'nginx' 
end 

file '/etc/nginx/sites-enabled/default' do 
    action :delete 
end 

cookbook_file '/etc/nginx/sites-available/jenkins' do 
    source 'jenkins' 
end 

link '/etc/nginx/sites-enabled/jenkins' do 
    to '/etc/nginx/sites-available/jenkins' 
    link_type :symbolic 
end 

service 'nginx' do 
    action :restart 
end 

service 'jenkins' do 
    action :restart 
end 

Когда я бегу выполнять рецепты на c4.4xlarge изображение работает Ubuntu 14.04, я получаю следующие ошибки

Setting up jenkins (2.32.1) ... 
* Starting Jenkins Continuous Integration Server jenkins 
...fail! 
Setting up libnss3-nssdb (2:3.26.2-0ubuntu0.14.04.3) ... 

и

STDERR: invoke-rc.d: initscript jenkins, action "start" failed. 
dpkg: error processing package jenkins (--configure): 
subprocess installed post-installation script returned error exit status 7 
Errors were encountered while processing: 
jenkins 
E: Sub-process /usr/bin/dpkg returned an error code (1) 
---- End output of apt-get -q -y install jenkins=2.32.1 ---- 
Ran apt-get -q -y install jenkins=2.32.1 returned 100 

Resource Declaration: 
--------------------- 
# In /var/chef/runs/55bf900b-16e6-4573-9948-8571284d80e7/local-mode-cache/cache/cookbooks/jenkins/recipes/default.rb 

16: package 'install Jenkins' do 
17:  package_name "jenkins" 
18: end 
19: 

Compiled Resource: 
------------------ 
# Declared in /var/chef/runs/55bf900b-16e6-4573-9948-8571284d80e7/local-mode-cache/cache/cookbooks/jenkins/recipes/default.rb:16:in `from_file' 

apt_package("install Jenkins") do 
package_name "jenkins" 
action [:install] 
retries 0 
retry_delay 2 
default_guard_interpreter :default 
declared_type :package 
cookbook_name "jenkins" 
recipe_name "default" 
end 

Platform: 
--------- 
x86_64-linux 

[2017-02-01T03:10:08+00:00] INFO: Running queued delayed notifications before re-raising exception 
[2017-02-01T03:10:08+00:00] ERROR: Running exception handlers 
[2017-02-01T03:10:08+00:00] ERROR: Exception handlers complete 
[2017-02-01T03:10:08+00:00] FATAL: Stacktrace dumped to /var/chef/runs/55bf900b-16e6-4573-9948-8571284d80e7/local-mode-cache/cache/chef-stacktrace.out 
[2017-02-01T03:10:08+00:00] FATAL: Please provide the contents of the stacktrace.out file if you file a bug report 
[2017-02-01T03:10:08+00:00] ERROR: apt_package[install Jenkins] (jenkins::default line 16) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '100' 

Я не знаю, почему Дженкинс не в состоянии начать. Когда я запускаю рецепт дважды в одном экземпляре, он выполняет второй раз. Любая помощь очень ценится, так как это мой первый сценарий шеф-повара.

+1

Существует официальная поваренная книга (https://github.com/chef-cookbooks/jenkins) для установки Дженкинса. Вы пробовали смотреть в журналы Дженкинса? (обычно '/ var/log/jenkins') или вывод' apt-get -q -y install jenkins = 2.32.1 '? –

+0

Ваш 'apt-get' не работает. Попробуйте запустить это самостоятельно и посмотреть, что произойдет. – chicks

+0

Проверьте журналы jenkins, это сценарий после установки, который не работает. Согласно [this] (https://issues.jenkins-ci.org/browse/JENKINS-31814), это могут быть разрешения на/tmp – Tensibai

ответ

0

Получается, что ответ был в файле stackfrace для шеф-повара. Процесс apt-get выполняется дважды и не может получить доступ к файлу блокировки в dpkg на этапе установки пакета. Изменение

execute 'update apt-get' do 
    command 'apt-get update' 
end 


package 'install Jenkins' do 
    package_name "jenkins" 
end 

в

apt_update 'all platforms' do 
    action :update 
end 

apt_package 'jenkins' do 
    action :install 
end 

решить эту проблему.