6

これは私がフォローしている元の記事であることに注意してください:http:
//www.markdotto.com/2011/11/02/how-to-deploy-sites-via-github/

少し背景を説明すると、組織アカウントの下にプライベートリポジトリが設定されています。3人の開発者(私自身を含む)がGitHubの独自のアカウントを持ち、プライベートリポジトリの管理者権限を持っています。

プロジェクトで作業している間、リポジトリのクローンを作成してから、「dev」ブランチを作成します。私たちはそれぞれ独自のdevブランチから作業し、GitHubの「dev」ブランチに変更をプッシュします。

この開発ブランチをリモートサーバーに配置して、結合されたコードが機能することをテストしてから、マスターブランチにマージする必要があります(クリーンで常にデプロイ可能である必要があります)。

ここから、SSH経由でサーバーに接続する上記の記事の手順に従い、Webサイトがホストされている関連ディレクトリに移動し、次のコマンドを実行します...

git clone git@github.com:ORGANISATION/REPO.git dev

私たちが抱えていた最初の問題は、サーバーがメッセージを返したことでした...

Cloning into dev...
ssh: connect to host github.com port 22: Connection refused
fatal: The remote end hung up unexpectedly

...どこでパスワードを要求されると期待していましたか?

そこで、代わりにHTTPURLを試しました...

git clone https://USER@github.com/ORGANISATION/REPO.git dev

...クローン作成時にHTTPURLが自分のユーザー名を使用することに気付くでしょう。パスワードを入力すると表示されますCloning into dev...が、次のエラーが表示されます...

error: SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed while accessing https://Integralist@github.com/StormCreative/MoneyRepublic.com.git/info/refs
fatal: HTTP request failed

...エラーがわかりません。

では、このプライベートリポジトリをサーバーに複製するにはどうすればよいでしょうか。

助けていただければ幸いです。

よろしく、マーク

4

2 に答える 2

11

最初の問題は、ローカルのrsaキーがGitHubのアカウントにリンクされていないために発生します(もちろん、rsaキーをアカウントにリンクし、組織もアカウントにリンクされています)。

リポジトリのクローンを作成しようとしているローカルマシン(またはリモートサーバー)で、rsaキーを生成する必要があります。

ssh-keygen -t rsa

キーを生成するときに、パスワードと、実際にキーが含まれているid_rsa.pubファイルを保存する場所を選択しました。

GitHubでは、このキー(id_rsa.pubの正確なコンテンツ)をアカウント管理パネルのsshキーに追加する必要があります。

于 2012-03-13T13:12:38.060 に答える
0

SSLの問題のように見えるエラーを解決できるかどうかわかりません。しかし、私はあなたに別のアプローチを提案することができます。この方法でブログをサーバーにデプロイします。

  • deployというサーバー上にgitリポジトリを作成しました。
  • このデプロイリポジトリをローカルリポジトリのリモートとして追加しました。
  • デプロイするときに、このリポジトリに変更をプッシュします。
  • デプロイリポジトリ内に、受信後フックを設定しました。これにより、変更がプッシュされるたびに、最新バージョンのWebサイトを提供するApacheのhostsディレクトリ内のサーバーにリポジトリが自動的に複製されます。

必要に応じて、受信後のフックの要点を提供できます。Webサイトが軌道に乗っている場合は、Capistranoを使用して展開できます。

編集:これが私の受信後のフックです

GIT_REPO=$HOME/aliirz.git
PUBLIC_WWW=/var/www/myrepo

git clone $GIT_REPO $PUBLIC_WWW
exit

よろしく

編集:上記のdrgomespの答えは完全に解決策です。SSHキーをGithubに接続する必要があるという私の心をスキップしました。

于 2012-03-13T13:14:56.020 に答える