Jenkins導入(GitHub連携)
要件:
VMにJenkinsを構築→開発環境からアクセスできるようにする
環境:
Microsoft Windows Server 2016 Standard
GitHubはWeb版を使用
参考:
新しい SSH キーを生成して ssh-agent に追加する - GitHub Enterprise Server 3.2 Docs
GitHub アカウントへの新しい SSH キーの追加 - GitHub Enterprise Server 3.2 Docs
(初心者向け)GitHubアカウントにターミナルでログイン(SSH接続)する | DevelopersIO (classmethod.jp)
手順:
Jenkinsを使用したCIを、GitHubのソースで行えるように環境を作る。
大まかな流れは以下の通り。
WindowsServer側(認証したい側)にGitBashをインストールする
インストールしたGitBashでSSHキーを作成する。
作成したSSHキーをGitHubに登録する。
GitBashのインストール
Git (git-scm.com)にアクセスして、GitをDL
インストーラーを起動後は、基本案内通りに進める。
※細かい設定についてはGit の インストールで迷ったら? | のい太ろぐ (noitalog.tokyo)を参照。
SSHキーの作成
インストールしたGitBashを開き、下記コードブロックの1行目のコマンドを実行する。
※sshキーが既にあるかどうかを調べるコードブロック2行目のような表示が出てきた場合、SSHキーは他にないため、このまま登録を続ける。
※適切なSSHキーが既にある場合、キー作成の手順はスキップし、キー登録の手順へ移る。コードブロック5行目のコマンドを実行する。
※mail@addres.comは適切なGitHubリポジトリへのログインに使用するe-mailアドレスへ置き換える。キー作成のための案内が始まるため、特に問題がなければすべてEnterを押下してキー作成完了。
※SSHのパスを設定する場合は案内に従って適切に設定する。
$ ls -al ~/.ssh
ls: cannot access '/c/Users/hendo/.ssh': No such file or directory
$ ssh-keygen -t ed25519 -C "mail@addres.com"
Generating public/private cd25519 key pair.
...
The key's randomart image is:
+--[ED25519 XXX]---+
...
SSHキーの登録
GitHub(Web)で、ユーザ設定画面の"SSH and GPG keys"を押下する。
"New SSH key"を押下する。
"Title"は適当にし(入力しなくても可)、"Key"は作成したSSHキーを入力する。
"Add SSH Key"を押下して完了。
※SSHキーはGitBashの以下のコマンドで取得
※公開鍵の作成時にファイル名を変更している場合、下記コードでも適切に変更する。
$ clip < ~/.ssh/id_ed25519.pub
登録されたか確認
接続の確認を行うには、GitBashで下記コマンドを実行する。
自分のユーザ名が返ってきた場合、接続成功。
ssh -T git@github.com
Hi username! You've successfully authenticated, but GitHub does not provide shell access.
以上で、SSHキーの作成完了。
次はビルドプロジェクトの作成。