質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

VPS

VPS(バーチャル・プライベート・サーバ)は、仮想化されたサーバをレンタルするサービスで、共有サーバでありながら専門サーバと同等の機能を果たします。物理的な専門サーバより安価で提供できるメリットがあります。

Capistrano

Rubyで書かれたサーバオーケストレーションで、複数のサーバでスクリプトを実行する際に用いられます。主な使用用途はWebアプリケーションのデプロイメントです。 アプリケーションのバージョンアップ自動化、およびデータベースの変更などもできます。

Q&A

解決済

3回答

1160閲覧

デプロイ実行時のエラーについてご教示願います。

koume

総合スコア458

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

VPS

VPS(バーチャル・プライベート・サーバ)は、仮想化されたサーバをレンタルするサービスで、共有サーバでありながら専門サーバと同等の機能を果たします。物理的な専門サーバより安価で提供できるメリットがあります。

Capistrano

Rubyで書かれたサーバオーケストレーションで、複数のサーバでスクリプトを実行する際に用いられます。主な使用用途はWebアプリケーションのデプロイメントです。 アプリケーションのバージョンアップ自動化、およびデータベースの変更などもできます。

0グッド

0クリップ

投稿2019/04/14 17:48

デプロイ実行時に以下のエラーが出て10日以上も解決出来ずに困っています。

$ bundle exec cap production deploy [f2bea5cb] fatal: Not a git repository (or any of the parent directories): .git (Backtrace restricted to imported tasks) cap aborted! SSHKit::Runner::ExecuteError: Exception while executing as kinoko@wonder-gate.com: git exit status: 128 git stdout: fatal: Not a git repository (or any of the parent directories): .git git stderr: Nothing written SSHKit::Command::Failed: git exit status: 128 git stdout: fatal: Not a git repository (or any of the parent directories): .git git stderr: Nothing written Tasks: TOP => deploy:set_current_revision => git:set_current_revision (See full trace by running task with --trace)

「対象としてるものがgitのリポジトリではない」と言っているみたいなのです。
ローカルで以下のようにやってみました。

$ git init $ git clone https://github.com/chibipanda/ChibiApp.git $ git add . $ git commit -m "first commit" $ git remote add origim https://github.com/chibipanda/ChibiApp.git $ git push -u origin master Counting objects: 8, done. Compressing objects: 100% (4/4), done. Writing objects: 100% (6/6), 913 bytes | 0 bytes/s, done. Total 6 (delta 1), reused 0 (delta 0) remote: Resolving deltas: 100% (1/1), completed with 1 local object. To https://github.com/chibipanda/ChibiApp.git 544c3a3..123490e master -> master Branch master set up to track remote branch master from origin.

VPS側でも $ git init してみました。

config/deploy.rb set :application, "panda" set :rails_env, "production" set :repo_url, "https//github.com/chibipanda/ChibiApp.git set :branch, "master"

再度、$ bundle exec cap production deploy を実行しましたがエラーは解決できませんでした。

サイトでググっても可決方法がわからないのでどなたかご教示お願いできないでしょうか?
自力では何が足りないのかわからない状況です。助けてください。おねがいします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

自己解決

capistranoの設定を最初からやりなおしてみます。

投稿2019/04/17 04:06

koume

総合スコア458

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Bash

1$ git init 2$ git clone https://github.com/chibipanda/ChibiApp.git 3$ git add . 4$ git commit -m "first commit"

上記部分、cloneと、init+add+commitは一連で行うものではありません。
cloneを行ったなら、initは不要ですし、initで新規リポジトリを作成するなら、そこにcloneしてはいけません。

git stdout: fatal: Not a git repositoryと怒られているのは、適切なディレクトリに移動し忘れているだけのように推測します。

投稿2019/04/15 01:35

kazto

総合スコア7196

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

koume

2019/04/15 02:32

回答有り難うございます。 ローカルの各ディレクトリでdeployをしてみましたが Could not locate Gemfile or .bundle/ directory と表示されるのでデプロイ実行ディレクトリは正しいみたいです。
kazto

2019/04/15 02:45

やたらめったらにコマンドを打てば良いというものではありません。 capistranoでデプロイしたいのであれば、Capfileが存在するディレクトリでcapコマンドを実施する必要がありますが、当該ファイルは存在していますでしょうか。
koume

2019/04/15 03:25

混乱状態が長くググってはコマンド実行みたいなことをしてしまっていました。 Capfileのあるディレクトリでcapコマンドを実行しています。 $ pwd /home/vagrant/myappの下にCapfileがありそこでcapコマンドを実行しています。 ちなみに deploy --dry-runとdeploy:checkではエラーはでていません。
guest

0

デプロイ先で git clone はできますか?
デプロイするサーバのユーザーのssh設定が漏れてることはありませんか?

投稿2019/04/15 00:35

aa37971

総合スコア24

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

koume

2019/04/15 01:07

回答ありがとうございます。 デプロイ先(VPS側)ではgit cloneも含めgit init以外行っていません。 デプロイするサーバーはSSH接続はできています。 回答から察するとVPS側でgit cloneはしなければいけないということだと思いますが それ以外に実行するべきコマンドはあるのでしょうか?
aa37971

2019/04/15 03:51

> デプロイ先(VPS側)ではgit cloneも含めgit init以外行っていません ローカルではなく、デプロイ先のユーザー、ディレクトリでgit cloneしてみてください。 ※疎通確認がしたいので、giti initやgit add等は確認する意味がないです。 エラー読む限りは、SSH接続に失敗してますよね? デプロイ先の鍵の設定等を見返してみてください。 > デプロイするサーバーはSSH接続はできています。 これは、ローカル→デプロイ先 にSSH接続できてるという意味でしょうか? デプロイサーバーからgithubにSSH接続してプログラムをcloneしてくるので、デプロイ先で確認する必要があります。
koume

2019/04/15 04:03

回答有り難うございます。 > デプロイするサーバーはSSH接続はできています。については 鍵認証にてVPSにログインできています。ということです。 SSH接続に失敗しているということなのでローカル側にてgithubに接続できるか確認してみました。 $ ssh -T git@github.com Enter passphrase for key '/home/vagrant/.ssh/id_rsa': (パスフレーズ入力) Permission denied (publickey). これってローカルからGitHubに接続出来ていないということでしょうか? これが原因なのでしょうか?
koume

2019/04/15 06:22

GitHubにSSH keyの設定をしました。 [vagrant@localhost chibi]$ ssh -T git@github.com Enter passphrase for key '/home/vagrant/.ssh/id_rsa': Hi XXXXX! You've successfully authenticated, but GitHub does not provide shell access. 接続出来るようになりました。 しかしcap production deployしても同じエラーがでてしまいます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問