tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:GitHubをつかったApexコードの管理について - Part 1

2017年頃だったと思いますが、Salesforce DXということで新しい開発環境が提供されるようになった際にGitHubをつかったプロジェクト管理の話も公開されました。

その頃にGitHubの使い方を勉強したりしたのですが時間が経って忘れてしまったので、GitHubをつかったApexコードの管理についてもう一度勉強してみました。

GitHubのドキュメントサイト

GitHubの詳しい使い方については公式のドキュメントサイトが公開されています。ここを見れば環境構築手順などを確認できました。

f:id:tyoshikawa1106:20210103182149p:plain

GitHub Documentation

Git環境の構築

はじめにGitをインストールしてGitコマンドを実行できるようにします。
f:id:tyoshikawa1106:20210111120126p:plain:w400


Gitの最新版はこちらのサイトからインストールできます。
f:id:tyoshikawa1106:20210103182502p:plain


Macの場合はHomebrewをつかった方法が紹介されていたので、Homebrewをつかってインストールしました。
f:id:tyoshikawa1106:20210103182558p:plain


Homebrewはこちらのサイトからインストールできます。

macOS(またはLinux)用パッケージマネージャー — Homebrew


Homebrewをインストール後、下記のコマンドでGitをインストールできます。

$ brew install git


インストール後に最新のバージョンが適用されていない場合は、パスの設定が必要になるみたいです。下記の記事が参考になりました。

最新の Git を Mac にインストールする手順 - Qiita


コマンドラインを開いて次のコマンドを実行します。
f:id:tyoshikawa1106:20210111121639p:plain

$ echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.zshenv
$ source ~/.zshenv


これで「git --version」コマンドを実行するとインストールした最新バージョンが適用されていると思います。

Gitユーザ名とコミットメールアドレスの設定

最初にコマンドを実行してGitのユーザ名をセットします。

$ git config --global user.name "SAMPLE NAME"

正しく登録できたかの確認はこちらです。

$ git config --global user.name

同じくコミットメールアドレスもセットします。

$ git config --global user.email "email@example.com"

確認コマンドはこちらです。

$ git config --global user.email


これでGitの環境構築は完了です。上記の手順はこちらを参考にしました。

GitHub側の環境を用意

Gitの環境が準備できたらGitHub側の環境を用意します。


会社で管理する場合はそれぞれルールがあると思うので、個人用途として記載しますが普通のサービスと一緒にサインアップページで簡単にアカウントを作成できます。不明な点があればこちらで確認できると思います。

GitHub.com - GitHub Docs

SSHキーの設定

SSHキーの設定を行います。詳細はドキュメントサイトにまとめられています。
f:id:tyoshikawa1106:20210111124723p:plain

新しい SSH キーを生成して ssh-agent に追加する - GitHub Docs

SSHキー生成

ターミナルを開いて次のコマンドを実行するとSSHキーが作成されます。

$ ssh-keygen -t ed25519 -C "your_email@example.com"


Enter a file in which to save the keyというメッセージはファイルの保管場所を聞かれていて、エンターキーでデフォルト設定を反映します。その後にはパスフレーズを任意で決めて登録します。

SSH キーを ssh-agent に追加する

次のコマンドを実行します。ssh-agentが開始されるコマンドとのことです。

$ eval "$(ssh-agent -s)"


~/.ssh/config ファイルがデフォルトの場所にあるかどうかを確認します。

$ open ~/.ssh/config


does not exist.とメッセージが表示されてたらファイルが無い状態なので、次のコマンドでファイルを作成します。

$ touch ~/.ssh/config


再度、open ~/.ssh/configコマンドを実行するとファイルが開くので、下記の内容を追記します。

Host *
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_ed25519


最後にSSH 秘密鍵を ssh-agent に追加して、パスフレーズをキーチェーンに保存する作業を行います。

$ ssh-add -K ~/.ssh/id_ed25519


実行すると「Enter passphrase for XXXX」とメッセージが表示されるので、先程登録したパスフレーズを入力します。「Identity added: XXX」と表示されれば成功だと思います。

GitHubアカウントに新しいSSHキーを追加する

まずはSSH 公開鍵をクリップボードにコピーします。次のコマンドを実行すれば簡単にコピーできます。

$ pbcopy < ~/.ssh/id_ed25519.pub


GitHubにログインしてSettingsメニューのSSH and GPG keysから追加します。[New SSH key] または [Add SSH key] をクリックすると設定画面に移動できます。
f:id:tyoshikawa1106:20210111131031p:plain


Titleは任意です。どのPCかわかるような名前をつければ良さそうです。Keyの欄には先程のpbcopyでコピーした値を貼り付けます。Add SSH keyボタンを押せば登録完了です。(登録時にアカウントのパスワードを入力が必要になる場合もあります。)


上記の手順の詳細はこちら。

GitHub アカウントへの新しい SSH キーの追加 - GitHub Docs


ここまでの作業でSSHキーの作成とGitHubへの登録が完了しました。SSH接続が正しく動作するかは次のコマンドを実行すればチェックできます。

$ ssh -T git@github.com

「You've successfully authenticated」と表示されれば成功です。「but GitHub does not provide shell access.」というメッセージは気にしなくて良いみたいです。

次の記事

その他の参考サイト