先週奇跡的に作成したはずのものを再現しようとして、自分自身とリソースを使い果たしました。
Ubuntu 12.10 x64を実行しているEC2マイクロインスタンスを使用して、JenkinsとCapistranoを使用してCIのテストサーバーを作成しています。
先週行っていたことを「理解」でき、サーバーが機能しているように見えましたが、EC2インスタンスへの接続を再作成して、コードをgithubからそのインスタンスにプッシュすることができませんでした。
「capdeploy」を実行すると、次のようになります。
jenkins@ip-10-170-102-174:/var/www/config$ cap deploy
* 2013-02-24 11:05:11 deploy'
* 2013-02-24 11:05:11 executing
deploy:update'の実行**トランザクション:開始* 2013-02-24 11:05:11 deploy:update_code'
executing locally: "git ls-remote git@github.com:example/example.git master"
command finished in 1871ms
* executing "git clone -q git@github.com:example/example.git /var/www/example/releases/20130224110513 && cd /var/www/example/releases/20130224110513 && git checkout -q -b deploy de26b44bba59e1aa04dc3cf9dbec9dc4d9e4bdf3 && (echo de26b44bba59e1aa04dc3cf9dbec9dc4d9e4bdf3 > /var/www/example/releases/20130224110513/REVISION)"
servers: ["example.us-west-1.compute.amazonaws.com"]
*** [deploy:update_code] rolling back
* executing "rm -rf /var/www/example/releases/20130224110513; true"
servers: ["example.us-west-1.compute.amazonaws.com"]
** [deploy:update_code] exception while rolling back: Capistrano::ConnectionError, connection failed for: example.us-west-1.compute.amazonaws.com (NoMethodError: undefined method
"publickey":String)接続の実行に失敗しました:example.us- west-1.compute.amazonaws.com(NoMethodError:undefined method `each'for" publickey ":String)
これが私のdeploy.rbファイルです:
set :app_name, "example"
set :location, "example"
set :application, "example"
set :repository, "git@github.com:example/example.git"
set :user, "jenkins"
set :runner, "jenkins"
set :branch, "master"
set :port, 22
set :deploy_to, "/var/www/#{application}"
set :scm, "git"
ssh_options[:forward_agent] = true
ssh_options[:auth_methods] = "publickey"
ssh_options[:keys] = ["/var/www/jenkins"]
#set :default_stage, "dev"
role :app, "example.us-west-1.compute.amazonaws.com", :primary => true
注意する必要があるのは、他のいくつかのフォーラムや説明に従っており、「jenkins」と呼ばれる生成したキーを使用すると、/ var / lib / jenkinsで動作するサーバーに接続できるため、これがさらに混乱します。
他のサーバーで動作させるためにユーザーJenkinsを使用しています/Jenkinsで使用するために物事をシンプルに保つようです。私はこれに不慣れで、間違いなく学ぼうとしています。私はいくつかの記事を読み、いくつかのビデオを見て、完全にイライラし、率直に言って疲れています。誰かが私を助けることができますか?