日スタートアップにおけるソフトウェア開発では今や当たり前となったGitHub。SELECKを運営するリレーションズ株式会社では、ソースコードの管理だけではなく、次のような用途にもGitHubを活用しています。SELECKの記事の品質を上げるための自動校正ツール誰でも編集でき、どこでも閲覧できる仕様書作成ツール今回はこの2つの事例を紹介します。▼Githubの使い方についてはGithub入門の連載記事をご覧ください。チーム開発を変える「GitHub」とは?導入方法・使い方を徹底解説!【第1回】【導入編】GitHubはソースコード管理の枠を越えて活用されているSELECKでは今まで、数々の企業にGitHubの活用方法を取材しました。GitHub本来の使い方であるソースコード管理に主軸を置いたサイバーエージェントさんの記事や、営業とエンジニアの壁を埋めるような使い方をしているM.T.Burnさんの記事には、特に大きな反響をいただきました。GitHubは、本来ソースコードを管理するためのツールです。SELECKの取材先企業が体現しているように、アイデア次第で一歩先をいく使い方ができます。これまで数多くの企業の活用事例を取材する中で、もっと幅広い領域でGitHubを活用出来るのではないかと考えました。して実際に試してみた施策の中から、ユニークな2つの活用法を紹介します。活用例1:記事の執筆をGitHubで行うまずひとつ目は、SELECKに配信している記事の管理にGitHubを活用しています。SELECKのリリース当初は、記事をクラウドストレージで管理していました。いったステータスがあり、それぞれで履歴を管理する必要があります。記事数が増えるにつれてこの管理が煩雑になってしまい、それを解決するための手段としてGitHubの導入を検討しました。エンジニアの方にはあまり馴染みがないと思いますが、実はGitHubはWeb上でファイルの作成・編集・ブランチの作成など一通りの操作が可能です。Web上からの操作であれば、gitの仕組みを知らないライターでも簡単にファイルの操作ができます。▼ライターがPullRequstを作成して編集者に編集を依頼する実際の作業フローとしては、ライターがGitHub上で記事を書き、執筆が完了した時点でPullRequstを作成して編集者にアサインします。編集者はそのPullRequst上で記事を編集し、完了したタイミングでマージします。することで編集前後の差分がPullRequstの形で残り、ライターが自分の記事を見なおして改善していくことも簡単になります。▼編集後に差分の確認もできる(左:編集前・右:編集後)記事の執筆にCIを組み込み、校正を行うこのように記事の保管先として使い始めたGitHubですが、今ではさらに一歩踏み込んだ活用をしています。それがCI(継続的インテグレーション)による記事の自動校正です。SELECKではGitHub以外にも、CircleCIやTravisCI、JenkinsといったCIツールも数多く取材しています。そのひとつであるサイバーエージェントさんの記事では次のように述べられています。機械ができることはできるだけ機械に任せ、人は人ができることをするべきだと思います。エンジニアはエンジニアにしか出来ないことに集中する環境を作るために、自動化ツールを最大限に活用しています。一般的にCIでは、ソースコードの静的解析やテストを自動化します。記事のデータもソースコードと同じくテキストベースであるため、同様に自動化可能な領域があるのではと考えました。CircleCIを使い、記事を編集する度にタイトル・見出しの文字数チェックやNGワードの検出、校正APIを使った自動校正を実装しています。PullRequestを作成するとCIが実行され、記事の校正結果がPullRequestのコメント形式で流れます。これは「textlint」というOSSを活用しています。▼自動でCIが実行され、記事の校正結果がコメント形式で流れるこのシステムの導入により、ライターは簡単な誤字や不適切な表現に自分で気付くことができるようになりました。基本的な指摘を自動化することで編集者の手間を削減でき、より記事のクオリティに注目することが出来るようになりました。構成図などの詳細は、こちらのQiitaの記事をご覧ください。活用例2:仕様書の管理をGitHubで行うもうひとつの活用事例が、仕様書などのドキュメントを管理する場所としてのGitHubです。一般的に仕様書はWordやGoogleDocsなどで書かれる事が多いと思いますが、「システムには変更があったけど仕様書が更新されていない」というケースが多々あります。その原因がリッチテキストを編集する手間や、バージョン管理の煩雑さにあると考え、GitHubで解決できるのではと考えました。仕様書をMarkdown形式で記述してGitHubに保管することで、編集履歴の管理が容易になります。メリットは履歴管理だけではなく、GitHubレポジトリの内容を電子書籍化するOSS「GitBook」によりドキュメント化が容易であることも上げられます。GitBookを使うと、GitHubに保管されたファイルがPC・スマートフォンどちらでも電子書籍のような形式で閲覧できます。PDFへのエクスポートにも対応しています。▼GitBookを使うと、GitHubに保管されたファイルを閲覧できるだれでも、どこでも最新のドキュメントを見れる状態にGitBookにはホスティングサービスもあり、これを使用するとで常に最新の仕様書が閲覧できるようになります。そのためにはGitHubのアカウントを持っている必要があるため、社外の人に閲覧権限を渡すことが難しいという問題があります。S3のWebホスティング機能を使って仕様書を公開することにしました。GitHubのファイルが更新されるたびにCircleCIが起動し、GitBookによりエクスポートされたHTMLファイル一式をS3に自動でアップロードしています。これでGitHubアカウントを持っていない人でも最新の仕様書を閲覧出来る環境が整いました。気になるセキュリティも、リバースプロキシを立ててしまえば十分に確保することが出来るため、手軽に仕様書を公開する環境を作りたいプロジェクトにはおすすめです。構成図などの詳細は、こちらのQiitaの記事をご覧ください。今回、ソースコード管理という目的以外での活用例を挙げましたが、GitHubにはアイデア次第で無数の活用方法があるように感じます。成果物の履歴管理をしたい人も、自動化出来そうなルーチンワークを抱えている人も、一度GitHubでその問題を解決できないか検討してみてはいかがでしょうか?▼Githubの使い方についてはGithub入門の連載記事をご覧ください。まとめ】GitHub、UX、LinkedIn、SlackからSEOまで。情報の構造化はマインドマップ生成AIツール「Mapify」一択。毎週の新着記事を無料でお届けします!プライバシーポリシーに同意しました。情報の構造化はマインドマップ生成AIツール「Mapify」一択。