Githubでのデプロイキーの使い方

ページ名:Githubでのデプロイキーの使い方

GitHub の "Deploy Key" を使うと、サーバーから GitHub リポジトリに直接接続できるようになります。サーバーが接続されると、リポジトリからサーバーに直接ビルドをプッシュできるようになり、作業時間を短縮できます。サーバーが複数のリポジトリにアクセスする必要がある場合は、マシン・ユーザーを作成してアクセスを管理することができます。

パート1

キーを生成する

  1. コンピュータのターミナルプログラムを開きます。コンピュータのターミナル・プログラムを使用して、サーバーにリモート・アクセスできます。LinuxまたはMacコンピュータを使用している場合は、内蔵のターミナルプログラムを使用します。Windows を使っている場合は、Cygwin や GitBash などのプログラムをインストールする必要があります。
    • Linux - Ctrl+Alt+T を押すか、"terminal" と検索する。
    • Mac - UtilitiesフォルダにTerminalプログラムがあります。
    • Windows - Cygwinはcygwin.comから、GitBashはgit-scm.com/downloadsからダウンロードできます。
  2. ターミナルプログラムを使ってサーバーにログインします。GitHub リポジトリにアクセスできるように、サーバーでデプロイキーを生成します。そのためには、ターミナルを使ってリモートから、あるいはサーバーのローカルからサーバーにログインする必要があります。
    • ターミナルプログラムで ssh username@hostname と入力してログインします。プロンプトが表示されたら、パスワードを入力します。
  3. SSH鍵を生成するコマンドを入力します。以下のコマンドは、GitHub のメールアドレスをラベルとして新しい鍵を作成します:
    • ssh-keygen -t rsa -b 4096 -C "email@example.com"
    • SSH 鍵は、あなたの身元を認証する暗号化された鍵ペアです。この場合は、GitHub リポジトリに鍵を割り当てて、サーバーを識別できるようにします。
  4. 場所を選択するプロンプトが表示されたら、.↵ Enter/⏎ Return を押します。これで鍵がデフォルトの場所に保存されます。Userディレクトリの.sshディレクトリです。
  5. パスフレーズを作成します。未知のユーザは、鍵が動作する前にパスフレーズを入力する必要があるためです。
    • 作成時にパスフレーズを確認するプロンプトが表示されます。
  6. SSHキーの内容をクリップボードにコピーします。鍵を作成したら、リポジトリに追加する必要があります。そのためには、鍵の内容をコピーする必要があります。次のコマンドは、鍵の内容をクリップボードにコピーします:
    • Linux - xclip -sel clip < ~/.ssh/id_rsa.pub.Linux - xclip -sel clip < ~/.ssh/id_rsa.pub. 最初にsudo apt-get install xclipを実行する必要があるかもしれない。
    • Windows - clip < ~/.ssh/id_rsa.pub
    • Mac - pbcopy < ~/.ssh/id_rsa.pub
パート2

キーをリポジトリに追加する

  1. GitHub ウェブサイトにログインします。リポジトリにアクセスできるアカウントでログインしていることを確認しましょう。
  2. 右上のプロフィール画像をクリックし、"Your profile" を選択します。GitHub のプロフィールページが開きます。
  3. Repositories" タブをクリックします。これで、自分のリポジトリがすべて表示されます。
  4. キーを追加したいリポジトリを選択します。これでサーバーがリポジトリにアクセスできるようになり、ビルドが自動的にデプロイされるようになります。
  5. 画面上部の "Settings" タブをクリックします。リポジトリ設定が開きます。
  6. 左メニューの "Deploy keys" ボタンをクリックします。現在リポジトリに割り当てられているデプロイキーが表示されます。
  7. Add deploy key" ボタンをクリックします。キーを入力するテキストフィールドが表示されます。
  8. コピーしたデプロイキーをフィールドに貼り付けます。フィールドをクリックし、⌘ Command/Ctrl+V を押してコピーしたデプロイキーをフィールドに貼り付けます。
    • サーバーにリポジトリへの書き込みアクセスを許可する場合は、"Allow write access" ボックスにチェックを入れます。
  9. Add key "をクリックしてデプロイキーを追加します。これでサーバーがリポジトリにアクセスし、そこからビルドをデプロイできるようになります。
パート 3

マシンユーザーの作成

  1. マシンユーザー専用の GitHub アカウントを作成します。マシンユーザー」とは、複数のリポジトリにアクセスできる自動化されたユーザーのことです。サーバーが複数のリポジトリにアクセスする必要がある場合に便利です。deploy キーでは単一のリポジトリにしかアクセスできないからです。
    • GitHub のホームページで "Sign up" ボタンをクリックし、画面の指示に従って新しいユーザーを作成します。
  2. サーバー上で SSH 鍵を生成します。最初のセクションの手順に従ってサーバー上で鍵を生成し、クリップボードにコピーします。
  3. 新しいマシンのユーザーアカウントで GitHub ウェブサイトにサインインします。新しく作成した鍵をこのユーザーに割り当てます。
  4. マシンユーザーのプロフィール画像をクリックし、"Settings" を選択する。マシンユーザーのアカウント設定が開きます。
  5. 左メニューの "SSHとGPGキー "オプションをクリックする。現在ユーザーに割り当てられている鍵が表示されます。
  6. New SSH key "ボタンをクリックする。これでSSHキーを入力できるようになります。
  7. キーを貼り付け、"Add SSH key "をクリックします。これでマシンユーザーのプロファイルに SSH キーが追加され、サーバーにアクセスできるようになります。
  8. マシンユーザーにアクセス権を与えたい最初のリポジトリを開きます。リポジトリはプロフィールページの "Repositories "タブにあります。
  9. リポジトリページの「設定」タブをクリックします。リポジトリ設定が表示されます。
  10. 左メニューの "Collaborators "オプションをクリックします。リポジトリに共同作業者を追加できます。マシンユーザーをコラボレーターとして追加することで、リポジトリからサーバーにビルドをプッシュできるようになります。
  11. マシンユーザーの名前を入力し、"Add collaborator" をクリックします。マシンユーザーにはリポジトリへの読み書き権限が与えられます。
この記事は、CC BY-NC-SAで公開されている「 How to Use Deploy Keys on Github 」を改変して作成しました。特に断りのない限り、CC BY-NC-SAで利用可能です。

シェアボタン: このページをSNSに投稿するのに便利です。

コメント

返信元返信をやめる

※ 悪質なユーザーの書き込みは制限します。

最新を表示する

NG表示方式

NGID一覧