TravisCIでGitHubのpagesをテストする際、GitHubのトークンが必要になります。.travis.ymlに直接書き込むと、自分のトークンを公開してしまうことになるので、暗号化して登録してみました。本記事では、その方法について記録します。
- クライアント環境
- GitHubトークンを入手する
- Travis CLIのインストール
- トークンの暗号化
クライアント環境
本記事では、以下の環境で実施しています。
- MacOS Catalina バージョン10.15.5
GitHubトークンを入手する
GitHubトークンを入手します。
ユーザーアイコンの[Settings]から[Developer Settings]→[Personal access token]→[Generate new token]でトークンを作成します。必要な権限は以下の通りです。
- repo
- read:org
- user:email
今回は入手したトークンを環境変数に設定します。
$ export TRAVIS_GITHUB_TOEKN=[入手したトークン]
Travis CLIのインストール
暗号化に必要なTravis CLIをインストールし、CLIからログインします。
以下のコマンドでTravisをインストールします。
$ gem instal travis
Travis CLIからログインします。
$ travis login --github-token $TRAVIS_GITHUB_TOEKN
デフォルトだとgithub.comにログインしにいくので、エンタープライズ版のGitHubとTravisを利用している場合は、以下のコマンドでエンタープライズ版のURLをエンドポイントに設定します。
. $ travis endpoint --set-default -X -e https://[エンタープライズ版TravisのURL]/api
トークンの暗号化
Travis CLIを利用してトークンの登録及び暗号化を行います 。詳細は公式ドキュメントをご参照ください。
GitHubのトークンを暗号化して、.travis.ymlに設定します。このコマンドは.travis.ymlが置かれているパスで実行する必要があります。
$ travis encrypt GITHUB_TOKEN=$TRAVIS_GITHUB_TOEKN -r [対象レポジトリ] --add
–addオプションによって、同一パス上にある.travis.ymlに以下を追記します。
env: global: secure: [暗号化されたToken]
最後に、.travis.ymlに暗号化したトークンをdeployブロックで指定して登録しておく必要があります。
deploy: github_token: "$GITHUB_TOKEN"
これでTravis CIからGitHubのテストを行うことができました。
以上です。