システム開発でGithubやCircle CIを使用するケースが増えています。弊社でも新プロジェクトのCircle CIを設定する機会があったのですが、その際に選択するOrganizationに選択したい項目が表示されない事象があったので、設定方法をご説明したいと思います。
この記事をオススメしたい方
● 新規のWebシステム開発を行う方
● Github・Circle CIの使用をご検討の方
クラウド型CI/CDツール Circle CIとは
クラウド型CI/CDツールとは、CI(Continuous Integration:継続的インテグレーション)/CD(Continuous Delivery:継続的デリバリー)を意味しています。
CIはシステム開発時のテストや静的コード解析の作業を自動化し、継続的に実行する手法で、CDはCIをさらに拡張し、各環境へのデプロイ作業を自動化し、また継続的に実行する手法のことです。
Circle CIはSaasサービスとしてテストを自動化し、ビルド・デプロイ、バージョン管理システムとの連携、各種通知ツールとの連携が可能なツールです。(※Circle CIにも「Circle Ci Server」というプライベートサーバーで利用可能なオンプレミス型のサービスも存在しています。)
利便性の高いダッシュボードを持っており、多数のプログラミング言語・Webフレームワークにも適用しており、DockerやGitHubもサポートしています。
バージョン管理システム GitHubとは
Gitの仕組みを利用して、世界中の人々が自分のプログラムを保存・公開できるWebサービスです。公開されているソースコードの閲覧や簡単なバグ管理機能を持っています。Circle CIと連携するとGitHubリポジトリをウォッチし、更新があると自動でビルドからデプロイまでを行ってくれます。
Circle CIとGitHubを連携して起こった、Organizationが表示されない事象
新規開発プロジェクトのため、Circle CI内からGithubを連携しようとしたところエラーが起きました。ここでは実際のエラーの内容と解決方法をご説明します。
Circle CI内VCSに「GitHub Checks」の項目が現れ「Manage GitHub Checks」ボタンが表示されます。
このボタンを押下すると、GitHub内に作成しているOrganizationが選択肢として表示されるはずなのですが、個人のGitHubアカウントしか表示されませんでした。
こちらの記事を参考に設定を確認してみます。
まずはCircle CI、ヘッダーの右上に表示されている自分のアイコン→User Settingsを選択し、Account Integrationを確認するとGitHubと個人のアカウントが連携できていることが確認できます。その上に表示されている「Refresh Permissions」をクリックします。(下図赤枠部分)
GitHubが立ち上がり、「Circle CI」→「Organization access」の箇所に連携させてたいOrganizationが表示されていることを確認してから、その横の赤枠「Grant(付与)」をクリックします。
GitHub内で「Settings」→「Third-party access」のページが表示され「Third-party application access policy」にCircle CIが「Approved」と表示されます。
Circle CIに戻りサイドメニューから「Projects」をクリックするとGitHubで作成咲いていたOrganizationのリポジトリが表示されていることが確認できます。
Circle CIに戻りサイドメニューから「Projects」をクリックするとGitHubで作成咲いていたOrganizationのリポジトリが表示されていることが確認できます。
必要なリポジトリの横に表示されている「Set Up Project」をクリックすると以下のような画面になります。
必要なリポジトリをSet upしサイドメニューから「Pipelines」に戻ると以下のようにSet upの履歴が表示されます。
これで連携の作業は完了です!
Circle CIとGitHubの連携エラー、いかがしたか?
頻度が高くない設定を行う場合、設定方法に戸惑ってしまうことも多いものです。特に自動連携できるサービス同士であれば、なおさらできないことが不思議に感じてしまいます。
Good Thingsでは、開発のトレンドにあったツールの選択を行ってシステム開発のお手伝いをしています。