【未経験向け】CCNA(200-301)とは? NW未経験が1ヶ月で合格した際に使用した魔法の学習教材、サイトを紹介!!!

【AWS】GitHubとCloud9を連携してAWS上でコード開発!

GitHub

AWSの提供する統合開発環境(IDE)であるCloud9とソフトウェア開発において一番有名なプラットフォームであるGitHubの連携方法を公開します。

Cloud9は簡単に使用できる便利なIDEですが、やはりAWSネイティブなだけあって、微妙に扱いづらい部分があります。

GitHubとの連携がまさにそれです。
ただリモートリポジトリをCloneするだけでも、結構ハマってしまいました。。

今回は、そんなCloud9とGitHubを連携する手順を公開します。

スポンサーリンク

概要

本記事の概要を以下に記載します。

本記事の目的

  • GitHub上のリモートリポジトリをCloud9上にCloneする
  • Cloud9上からGitHubのリモートリポジトリへリソースをpushする

本記事の流れ

  1. Cloud9上でSSH認証用の公開鍵を作る
  2. 公開鍵をGitHubへ登録する
  3. GitHubにて個人アクセストークンを発行する
  4. 動作確認:GitHubからリポジトリをCloneする
  5. 動作確認:テスト用ファイルをGitHubへpushする

事前準備

  • GitHub上にてリポジトリが作成済であること
  • Cloud9が立ち上げ済であること

Cloud9上でSSH認証用の公開鍵を作る

Cloud9上にて、Cloud9とGitHubとのやり取りの際に必要となる”鍵”を作成します。

以下のコマンドを実行して下さい。

# ssh鍵を管理するsshディレクトリへ移動します
$ cd ~/.ssh

# 公開鍵を作成します
# ※ 鍵作成時に鍵管理の設定に関していくつか対話形式で問われます
# ※ 特に細かい設定は必要無いよって方は全て『Enter』を押打して下さい
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/ec2-user/.ssh/id_rsa): <SSH鍵を保管ディレクトリパス>
Enter passphrase (empty for no passphrase): <パスフレーズ>
Enter same passphrase again: <パスフレーズ ※再確認>
Your identification has been saved in /home/ec2-user/.ssh/id_rsa.
Your public key has been saved in /home/ec2-user/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:Ah4+MELyuM3bABXLOPM9odXstNyp1WsxAvLxMkoprXo ec2-user@ip-172-31-3-83.ap-northeast-1.compute.internal
The key's randomart image is:
+---[RSA 2048]----+
|..o.             |

~~~ 略 ~~~

|..               |
+----[SHA256]-----+

# 公開鍵を表示 ⇒ 全てコピーして下さい
$ cat ~/.ssh/id_rsa.pub
※ 公開鍵が表示される

公開鍵をGitHubへ登録する

【1. Cloud9上でSSH認証用の公開鍵を作る 】で作成した公開鍵をGitHubへ登録します。

まずはGitHubを開いて下さい。
GitHubのトップページにて、右上のプロフィールアイコンをクリックします。
プルダウンの中から「Settings」をクリックします。

画面遷移後、左ペイン「SSH and GPG keys」をクリックします。

SSH and GPG keys画面にて、「SSH Keys」項目内の「New SSH Key」をクリックします。

Add new画面にて、各項目に従い以下のパラメータを記入します。
記入後、「Add SSH Key」ボタンをクリックします。
====================
・Title:<任意のタイトルを記載して下さい ※後で分かりやすい名前がオススメです>
・key:<コピーした公開鍵を貼り付けます>
====================

GitHubにて個人アクセストークンを発行する

GitHubでは2021年8月13日にパスワード認証が廃止されます。

これからは、新しく『個人アクセストークン』を発行しパスワードの代わりに使用することになります。

この 『個人アクセストークン』 もGitHubにて発行します。
以下手順を実行して下さい。

GitHubを開きます。
GitHubのトップページにて、右上のプロフィールアイコンをクリックします。
プルダウンの中から「Settings」をクリックします。 ※ここまではSSHの時の手順と同じです

Settings画面にて、左ペイン「Developer settings」⇒「Personal access tokens」とクリックします。

Personal access tokensにて、画面右上の「Generate new token」をクリックします。

New personal access token画面にて、各項目に従い以下のパラメータを記入します。
記入後、「Generate token」ボタンをクリックします。
====================
・Note:<任意のタイトルを記載して下さい ※後で分かりやすい名前がオススメです>
・Expiration:<トークンの有効期限を指定します。任意の日数を指定下さい>
・Select scopes:
<トークンのロール(権限)を指定します ※とりあえず全ての項目にチェックを付けて下さい>
====================

トークン作成後にパスフレーズが表示されます。
こちらのパスフレーズは必ずどこかに保管しておいてください。
※ このパスフレーズが実質的なパスワードになります

動作確認

以上の手順で、Cloud9とGitHubの連携作業は完了しました。
次項の手順にて、動作確認(ソースコードのやり取り)を行っていきましょう。

GitHubからリポジトリをCloneする

GitHub上のリモートリポジトリをCloud9の作業ディレクトリへCloneします。
以下の手順を実行して下さい。

GitHubにて、push先のリポジトリのトップページを開きます。
画面右上の「Code」ボタンをクリックし、プルダウンにてClone URL(HTTPS)をコピーします。

Cloud9を開きます。
以下のコマンド操作を実行して下さい。

### 事前準備 ###
# 作業用ディレクトリを作成し、移動する
$ mkdir test_dir
$ cd test_dir 

### git作業 ###
# gitの初期設定
$ git config --global user.name <GitHubに登録したユーザー名>
$ git config --global user.email <Githubに登録したメールアドレス>

# リモートリポジトリをCloneする
$ git clone <GitURL(HTTPS)> 

# リポジトリがコピーできているか確認する
$ ls -ltr
・・・
<リポジトリ名>
・・・

テスト用ファイルをGitHubへpushする

テスト用ファイルを作成し、リモートリポジトリへのpushを行います。
以下のコマンド操作を実行して下さい。

# Cloneしたリポジトリへ移動
$ cd <リポジトリ名>

# origin設定
$ git push -u origin master
Username for 'Git URL(HTTPS)': <GitHubのユーザー名>
Password for 'Git URL(HTTPS)': <GitHubにて作成した個人アクセストークンのパスフレーズ>

# テストファイルの作成
$ echo 'Hello World' > index.html

# テストファイルをステージング環境へ追加する
$ git add index.html

# ステージング環境にあるテストファイルをリモートリポジトリへコミットする
$ git commit -m "first commit"

# コミットしたテストファイルを、リモートリポジトリへpushする
$ git push origin master

GitHubを開き、pushしたテストファイルがリポジトリに反映されていることを確認します。

以上で、動作確認手順は完了となります。

まとめ

開発、インフラ問わず、エンジニアさんがソースコードの管理をする際は、GitHubを使用するかと思います。
GitHubは非常に便利なソースコード管理システムですが、その分セキュリティ上の脆弱性が沢山あります。

職場で当たり前のように行うGitHubとのやり取りも、実は外部に公開されていたり..なんてことがないようにセキュリティを常に意識したコード開発を行っていきましょう。

コメント

タイトルとURLをコピーしました