【17-e-4】github...
TRANSCRIPT
Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.
1
GitHub Enterpriseユーザ企業登壇! 企業文化にイノベーションを起こすモダンな ソフトウェア開発環境とは?
Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.
17 Feb 2017
マクニカネットワークス株式会社
営業統括部 データインテリジェンス営業部
根本 竜也
Copyright © 2004-2016 Macnica Networks Corp. All Rights Reserved.
2 Copyright © 2004-2016 Macnica Networks Corp. All Rights Reserved.
2
本日の主役はGitHub Enterprise導入企業さまです! が、ちょっとだけその前に・・
Copyright © 2004-2016 Macnica Networks Corp. All Rights Reserved.
3 3
デジタル化時代に勝ち抜くためにビジネス変革が必要です
• 企業の「開発力」が競争力の源泉
• ソフトウェアを中心とした価値開発の変革
• 積極的に新しいスタイルを取り入れていく
Copyright © 2004-2016 Macnica Networks Corp. All Rights Reserved.
4
オープンソースの成功が良いヒント
企業のITシステムでも幅広く活用される品質 リモートにいる開発者が協調して優れたソフトウェアを開発
速い開発ペース・機能の追加・不具合も修正
Copyright © 2004-2016 Macnica Networks Corp. All Rights Reserved.
5
オープンソースが成功したワケ
多数の開発者
距離や時間の制約を超え
協力して開発
問題・課題・アイデアを オープンに議論
ソースコード プロジェクトの成果物 進行の経緯・状況
透明性 コラボレーション 知識の共有化
Copyright © 2004-2016 Macnica Networks Corp. All Rights Reserved.
6
オープンソースはどうしてる?
数多くのOSSプロジェクトで GitHubが採用されています。
Copyright © 2004-2016 Macnica Networks Corp. All Rights Reserved.
8 Copyright © 2004-2016 Macnica Networks Corp. All Rights Reserved.
8
ここから本番
多くのOSSプロジェクトを支えているGitHubの 企業向けソフトウェア GitHub Enterprise
の導入事例をご紹介!
Copyright © 2004-2016 Macnica Networks Corp. All Rights Reserved.
9 Copyright © 2004-2016 Macnica Networks Corp. All Rights Reserved.
9
まずは株式会社レコチョクさま よろしくお願いいたします。
© RecoChoku Co.,Ltd. Proprietary and Confidential 11 2017/2/21
Index
• 自己紹介 • 会社紹介 • 導入に至った背景 • 期待した効果と実績 • 今後に向けて
© RecoChoku Co.,Ltd. Proprietary and Confidential 12 2017/2/21
Index
• 自己紹介 • 会社紹介 • 導入に至った背景 • 期待した効果と実績 • 今後に向けて
© RecoChoku Co.,Ltd. Proprietary and Confidential 13 2017/2/21
自己紹介
近藤 圭太 事業システム推進部 システムアーキテクトグループ グループ長
経歴 サーバサイドエンジニア(主にJavaをやってきました) 2011年レコチョク入社 →スマートフォンへの配信移行期 配信、決済、検索等のバックエンドシステムを担当
趣味 旅行(温かい場所)とお酒(最近は日本酒) 釣り始めました。
© RecoChoku Co.,Ltd. Proprietary and Confidential 14 2017/2/21
Index
• 自己紹介 • 会社紹介 • 導入に至った背景 • 期待した効果と実績 • 今後に向けて
© RecoChoku Co.,Ltd. Proprietary and Confidential 15 2017/2/21
会社紹介
新事業領域(より幅広い音楽ソリューションサービスへ)
従来の事業領域(デジタル音源配信)
自社(レコチョク)
従量課金制 定額課金制 定額課金制
協業
従量課金制
© RecoChoku Co.,Ltd. Proprietary and Confidential 16 2017/2/21
Index
• 自己紹介 • 会社紹介 • 導入に至った背景 • 期待した効果と実績 • 今後に向けて
© RecoChoku Co.,Ltd. Proprietary and Confidential 17 2017/2/21
導入に至った背景
ここ2,3年で大きく環境が変化しました! きっかけは
AWSへの全面移行 詳しくは 「レコチョク AWS」で検索していただければと思います。 youtubeの動画も上がっているので是非。 ※現在の規模 EC2:1,081 RDS:181 その他コンポーネント多数利用
© RecoChoku Co.,Ltd. Proprietary and Confidential 18 2017/2/21
導入に至った背景
AWS移行時の体制変更
インフラチーム
開発チーム
インフラチーム
開発チーム
© RecoChoku Co.,Ltd. Proprietary and Confidential 19 2017/2/21
導入に至った背景
漠然と感じていたこと ・インフラ周りは申請が必要でめんどくさい。 ・オンプレはリソースが限られていて自由が効かない。 ・他のチームの情報を得るすべがない。
などなど いわゆる技術的負債を抱えたまま、なんとなく開発を続けていました。 移行後
・インフラ権限の委譲で、申請業務が削減。 ex)他部署に申請1週間→一瞬! ・リソースは自分たちで調達可能。 ex)サーバ調達1,2ヶ月→一瞬! ・開発手法もそれぞれあり、共有しながら効率的に開発したい。
© RecoChoku Co.,Ltd. Proprietary and Confidential 20 2017/2/21
Index
• 自己紹介 • 会社紹介 • 導入に至った背景 • 期待した効果と実績 • 今後に向けて
© RecoChoku Co.,Ltd. Proprietary and Confidential 21 2017/2/21
期待した効果と実績
期待した効果 1.各種ツール連動によるリリース時間の削減 2.ソースレビューの時間削減 3.デグレードやリリースミスの削減
※とあるチームの例 手動でソースのマージとビルドまでやっていました。 SVNからローカルにcheckout→ビルド→FTPでアップロード。
↓ releaseブランチにプルリクが来たらマージしてデプロイ!
© RecoChoku Co.,Ltd. Proprietary and Confidential 22 2017/2/21
期待した効果と実績
実績(とあるチームの実績) 1.各種ツール連動によるリリース時間の削減 30分→10分に削減 2.ソースレビューの時間削減 10分→5分に改善 そもそもちゃんとやれてたのか... 3.デグレードやリリースミスの削減 10件に1件程度の発生→0件に改善
+αでエンジニアが進んでGit-Flowの勉強会 を実施。
© RecoChoku Co.,Ltd. Proprietary and Confidential 23 2017/2/21
期待した効果と実績
現在の利用状況(2017年2月上旬時点) ・User:178 (含む社外) ・Organization:60 (≒システムorプロダクト) ・Repositories:347
GHEならではの効果 ・社外のエンジニアに開発環境のアピールが出来る。 ・我々のタイミングでバージョンアップなど可能。 ・アカウント課金のため、個人の意識が高まる。 ・間違ってpublicに公開されることがない。 ・何かあった時にサポートがある。 ・github.comが落ちている時にドヤ顔できる!
© RecoChoku Co.,Ltd. Proprietary and Confidential 24 2017/2/21
Index
• 自己紹介 • 会社紹介 • 導入に至った背景 • 期待した効果と実績 • 今後に向けて
© RecoChoku Co.,Ltd. Proprietary and Confidential 25 2017/2/21
今後に向けて
継続して利用促進を ・ソースレビューやチーム横断の開発の場としてより活性化させたい。 ・非エンジニアにもGHEを普及させたい。 現状、非エンジニア(いわゆるプランナーやデザイナー)には まだまだ浸透してない状況。 ・GHEを軸にCIを加速させたい。 現在はJenkinsを利用しているので、たとえばCircleCIの導入なども 検討したい。
要望 ・自動サスペンド機能。(現在は管理者が手動で行っているので。)
Copyright © 2004-2016 Macnica Networks Corp. All Rights Reserved.
27 Copyright © 2004-2016 Macnica Networks Corp. All Rights Reserved.
27
ありがとうございました!!
続きまして株式会社フォークさま よろしくお願いいたします。
自己紹介
• 伊澤 好也(Yoshinari Izawa) – 2012年フォーク入社
– 現在は、WEB制作開発に関わるシステム開発の提案から導入・運用まで担当
– 得意な領域
• コンテンツマネージメントシステム開発
• プロジェクト火災防止
– 最近はあまりコードは書かない
– フォークでGHE導入を言い出した人
– 重度の花粉症
株式会社フォーク • 社員数 145名
– フロントエンドエンジニア:29名、デザイナ:23名、SE/PG:17名、ネットワークエンジニア:5名 – ディレクタ:36名、カスタマサポート:13名、営業・管理・役員:22名
• オフィスは渋谷、札幌(ニアショア10名程度)
• 提供サービス – Webマーケティング戦略・企画立案 – 情報構造設計 – デザイン、マークアップ – システム開発 – お問い合わせ事務局 – サーバ構築運用サービス
• 自社製品開発はほぼ行っていない。クライアントのWEBサイトを制作する、いわゆるWEB制作会社
• システム開発案件よりもWEB制作案件が 多い
GHE導入前 • バージョン管理はTortoise(トータス)SVN
– バージョン管理していない案件も多数 • プロジェクトにもよるが、制作して終わりというものが多いため、使わなくてもなんとか運用できていた。但
し、先祖返りが発生するものもあった。 • 長期的に運用する案件はCMSを導入するケースもあったため、バージョン管理はCMSで行っていた。
• コミュニケーションツールは、Google Hungouts or IPメッセンジャー,Gmail,Skype
• チケット管理にRedmine,backlog
• GitLabを導入しようという声はあがったが誰も進めようとしなかった • git歴があるスタッフは皆無 • レビューはチームによるがある程度は行われていた
GHE導入現在 • 正式導入は、2016年9月のまだまだGitHubビギナーです。 • GHE (2017.02.13現在)
– シート数 70 • 現時点で空き無し。デザイナー、フロントエンドエンジニア、SE、インフラエンジニアの利用がメイン。ディレクターなど
の利用はまちまち。
– Organaization 12 • 部署別のOrg+共通+トレーニング用など
– リポジトリ数 150 – CIツールとの連携は行っていない
• AWS EC2で運用 • 認証はSAMLでアカウント管理はG Suite(旧Google Apps) • クライアントソフトには制限を設けていない
– Source Tree – VS Code + git bash – Sublime Text + git プラグイン – Git shell
• メッセンジャーやメールでのソースコードをやり取りすることは無くなった • Redmineは使わなくなりました(私のチームでは)
導入決定まで①
1. こっそり自分の部署にだけ導入しようかと思い、マクニカさんのセミナーに申込
2. セミナー当日、多忙になり欠席
3. マクニカさんから連絡があり、来社していただくことになる
4. 来社する日、弊社代表の予定が空いていたので、同席してもらうよう依頼
導入決定まで②
5.マクニカさんに来社いただきデモ実施。弊社側は、代表、私、コード書くのが好きなスタッフの3名。
6.デモ後、即決で導入決定! 代表が一番ノリノリでした。今も一番ノリノリで使ってます。
導入決定した代表談
• 導入を決定した理由 – 採用の売り文句の一つにしたかった
– マクニカさんの事例紹介で使ってもらえるなら
– マクニカ担当者の操作説明がわかりやすくてよかった
年間ライセンス費のことは気にされていたが、GHE入れたら制作開発コストは削れるかといった話はなかった。そんなものはシュミレーションしようがないと思っていたので、私としては助かりました!
導入プロセス 時期 イベント 目的・結果
2016.04.07 マクニカさん来社
2016.05.19 github.com で仮運用 • 利用希望ユーザを募り38ライセンスで
開始した。
• まずは、gitに慣れさせる。 • GitHub以前にgitの学習コストがそこそこ
かかるなということがわかった
2016.06.01 GHE環境構築 • ライセンスはトライアル版
2016.06.06 GitHub トレーニング • マクニカさんにお願いしてトレーニング
を2回実施
GitHubの使い方を習得させる。 46名参加。
2016.06~ GHE試験運用 • 使いたいプロジェクトから順次利用
開始
全体ルール、部内ルールの構築はこの期間に行った。
2016.09.17 正式運用開始 • 50シートから開始
運用開始後もルールは追加修正を行っている。
導入してみてよかったこと①
• レビューがしやすい、共有しやすい – 導入前
• ソースコードをメッセンジャーソフトに貼り付けて、「ここってさ・・・」
• もしくはコードをメール添付して、 「○○さん 添付したソースの351行目なんだけど・・・」
– 導入後 • GHEだけで完結!
導入してみてよかったこと② • ソースコード、やり取りの履歴(Issue/Pull request)、ドキュメントをGitHubに集約することで、検索しやすくなった。 – 導入前
• メール、メッセンジャーの過去ログ、ドキュメントフォルダ内のファイルを、それぞれ検索
– 導入後 • GitHubの検索だけでよくなった。検索結果もすぐに返ってくるので、
検索ストレスが少なくなった
• Org配下の複数リポジトリをまとめて検索対象にできるため、「どっかでこういうロジック作った(見た)よな~」という時にかなり便利です。
※Pull Requestの検索はバージョン2.9で実装されるそうです
導入してみてよかったこと③
• Markdown形式のドキュメントが使いやすい • プロジェクト以外の制作ガイドラインなどもGHEへ移行
• Markdown形式自体は新しいものではないが、GitHub上で利用すると、とても便利に思える。
• これまではドキュメントの置き場所に困っていたが、GitHubに集約することで、権限管理も困ることはなくなった。
GHE運用課題①
• 制作を外部のパートナーに依頼する場合 – GHEアカウント+G Suiteアカウントのそれぞれに料
金が発生する。一つ二つのアカウントであれば問題無い金額なのだが、数十になってくるとコスト負担が大きくなる。管理も大変になる。
– 現状、外部パートナーとのやり取りは、GHEは使わずに、Backlog(ヌーラボ社)のGitを使っている。このGitでも、プルリク、ソースにコメント付け可能と、かなり使えます。 • 外部のパートナーがGitを知らないこともあるため、ルール策定は必須
です。
GHE運用課題②
• バージョンアップ時の新機能キャッチアップが大変である – 2.7系から2.8系はカンバン、レビュー機能が追加され、それら
を使いこなすまでに苦労している。ドキュメントが英語なことが主な要因。
– 2.8.x の時はバグ・セキュリティフィックスなので問題は無い。
– バージョンアップ時にはオフライン勉強会が必要。2017.01.24に勉強会を実施し、2.8で追加された機能をレクチャー。 • Google先生に聞けば、大抵のことは見つけられます。
GHE運用課題③
• 機能を全部使いこなせていない
– 特にCIツールとの連携はまだ使えていない
• 使い方を主導して検討する人が必要に思える。現在、特に専任がいるわけではなく、有志が行っている状況。
• 時間が解決するか?
まとめ • 決裁権限を持っている人にGitHubのことを理解してもらえ購入はすぐに出来た – 決裁権限者をどう納得させるか・・・エンジニアではなく、コストを気にする
人だと承認取るのに苦労するかもしれません。
• とにかくレビューが便利!また、ログ等集約・情報共有できるのは、利用する側がストレスフリーになる
• なんとなくでもいいので運用最終形を想定してコストを算出しましょう。 – 周辺システムもあれば、そこまで考えてコスト算出しましょう – どの人まで利用させたいのか、シート数を想定しておきましょう
最後に
昔はソースコードを印刷して、上司にレビューをしてもらってました。
やり方は変わりましたが、今も昔もレビューすることはスキル向上の一つの施策だと思ってます。
GHEは、メンバースキル向上のプラットフォームだと思ってますので、今後も、更に使い倒していきます!
(注意)GHEはレビュー機能だけじゃないですよ
Copyright © 2004-2016 Macnica Networks Corp. All Rights Reserved.
55 Copyright © 2004-2016 Macnica Networks Corp. All Rights Reserved.
55
まとめ
Copyright © 2004-2016 Macnica Networks Corp. All Rights Reserved.
56
人材募集に活用されるGitHub
「GitHubを使う中途採用の求人・転職情報」といった求人ページの存在 企業の人材募集サイトの訴求ポイントとして
「昨年から開発プロセスの改善に取り組み、GitHubを中心に開発環境、開発フローを構築
しています。」
転職先の検索条件として
□GitHubを使っている
□Pull Requestでコードレビュー
56
Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.
57
PACKAGE DEPLOY
Project Management
PACKAGE DEPLOY PRODUCTION
モダン化を実現するツール
DEVELOP SCM DEVELOP SCM BUILD TEST
Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.
58
▎Circle CI =
継続的インテグレーション(Continuous Integration = CI)
継続的デプロイメント(Continuous Deployment = CD)
を実現するCIツール
▎2011年設立
▎世界10万人以上の開発者が利用中
▎GitHubと同じくOSS版のCircleCI.comと
オンプレ版のCircleCI Enterpriseをラインナップ
Circle CIとは?
Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.
59
▎いつでもすぐに高速なビルドを実行可能
▎ 1つのビルド要求に対してオートスケールで複数のコンテナを利用し、並列処理を実行
▎新しいビルド要求に対しては常にクリーンなコンテナを利用可能
▎管理者依存によるボトルネックを解消
▎開発者自身がYAML形式のコードによりビルドのコンフィグレーションを行える
▎管理者依存にならず、開発者が必要なタイミングでビルドの実行が可能
▎GitHub Enterpriseとの容易なインテグレーション
▎マージ前にテスト自動化プロセスを組み込むことで、テスト漏れを防ぎ、常に品質が安定したリリースを実現
▎ GitHub Enterpriseからフックすることで即座にビルドを実行でき、プラグイン不要
Circle CIの特徴
Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.
60 Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.
60
マクニカネットワークス(株)について
Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.
61
マクニカネットワークス株式会社 会社概要
会社名 マクニカネットワークス株式会社
(株式会社マクニカ 100%出資)
設 立 2004年3月1日
本 社 横浜市港北区新横浜1-5-5
代表者
資本金
社員数
事業内容
代表取締役社長 池田 遵
3億円
企業向けネットワーク、セキュリティ関連ハ
ードウェア・ソフトウェアの輸出入、開発、
販売コンサルティング・保守サービスにわた
るITソリューションの提供
320名(2016年9月30日現在)
GitHub Enterprise CircleCI Enterpriseの 国内一次代理店です
Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.
62
サポート体制
弊社にて日本語のテクニカルサポートを行っております。
密な協力体制を敷いており、 技術連携など実施。
エンドユーザ様/パートナー様
マクニカネットワークス(株)
GitHub/CircleCI
・受付窓口:マクニカネットワークス サポート窓口(メール) ・受付時間:平日9:00~17:00(弊社休業日を除く)
日本語によるテクニカルサポートをご提供。 各メーカーと連携しながら、お客様の 問題解決をご支援しています。
62
Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.
63
マクニカネットワークスのサポート&支援サービス
インスタンス構築、初期設定
バックアップ、HA構成 構築 日本語での
無償テクニカルサポート 保守
アップグレード
管理者向けトレーニング
エコシステムとの連携 運用 ハンズオントレーニング 定着
Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.
64 Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.
64
ご不明点等ございましたらお気軽にご連絡くださいませ
マクニカネットワークス株式会社 GitHub社製品担当
[email protected] 045-476-2010
http://www.macnica.net/github/ (PC版、スマホ版)
最後まで
ご清聴ありがとうございました! アンケートへのご協力を宜しくお願いいたします!