わんくま同盟 名古屋勉強会 #48
今時のオンプレな
githubクローン環境構築
2019/05/25(土)
You&I
わんくま同盟 名古屋勉強会 #48
ジコ、ショウカイ。
• H/N: You&I(読み:ユーアンドアイ)
• SNS: @you_and_i
• 出身: 生まれも育ちも名古屋市
• 年齢: 40歳代
• 本職: 商学部出身の職業プログラマ
• 言語: C++, C#他
•所属: プロ生勉強会 名古屋支部
名古屋アジャイル勉強会
わんくま同盟 名古屋勉強会
2
わんくま同盟 名古屋勉強会 #48
AGENDA
1. GitHubクローンとは
2. オンプレ環境で動く、今時のヤツ
3. 環境構築する際の勘所
3
わんくま同盟 名古屋勉強会 #48
1. GitHubクローンとは
今時のオンプレなgithubクローン環境構築
4
わんくま同盟 名古屋勉強会 #48
1. GitHubクローンとは
• git
– Linux Kernelでは、無料提供されている商用VCS
(Version Control System)のBitKeeperサー
バーが使われていた。
– 商用製品を利用する事に抵抗感を持った有志が
BitKeeperをリバースエンジニアリングして互換クライ
アントツールを作成しようとした事が発端で2005年7
月1日に無料提供の中止のアナウンスが出された。
– それをきっかけにOSSで開発が始められた分散型の
VCS。
5
わんくま同盟 名古屋勉強会 #48
1. GitHubクローンとは
• GitHub
– 2008年4月からあるgitリポジトリを管理する商用の
Webサービス。オンプレ環境向けのGitHub
Enterprise Serverもある。
– gitリポジトリ管理以外に、リリース管理、Issue管理、
SNS、Wiki、Pastebin(gist)等の機能がある。
– 分散型のVCSの特徴であるPull Request(マージ
要求)の仕組みを活用した開発ワークフロー機能が
良く利用されている。
6
わんくま同盟 名古屋勉強会 #48
1. GitHubクローンとは
• GitHub
– 2010年1月に GitHub, Inc. 設立。
– 2018年6月にマイクロソフト社によって買収され、一
部報道で設計図共有サイトと称された。
– 2019年1月に、これまで無償プランでは利用出来な
かったプライベートリポジトリ作成機能が利用可能とな
る。
7
わんくま同盟 名古屋勉強会 #48
1. GitHubクローンとは
• GitHubクローン
– GitHubと同等の機能を開発し提供する、商用
/OSSのアプリケーション/サービスの総称。
– GitHubのようなWebサービスだけでなく、オンプレミス
(自社/自宅運用)環境で利用できるものもあります。
8
わんくま同盟 名古屋勉強会 #48
1. GitHubクローンとは
• 何でオンプレミス環境なの
– 世の中には、インターネット接続のない開発環境もあ
るんですよね。
9
わんくま同盟 名古屋勉強会 #48
2. オンプレ環境で動く、今時のヤツ
今時のオンプレなgithubクローン環境構築
10
わんくま同盟 名古屋勉強会 #48
2. オンプレ環境で動く、今時のヤツ
• 選定基準
– 基本無料
– アプリケーションの開発が継続中
– 以下の機能が利用可能
• git、Issue、Wiki
– Windows OSで動作
• Visual Studioで開発する
• セキュリティの観点(ここでは構成管理ツールのエージェント
が動作し、状態監視できるの意)でWindowsしか認めら
れない環境というものが、この世には存在するのです・・・
• あと、運用の担当者がLinuxに精通してない為
11
わんくま同盟 名古屋勉強会 #48
2. オンプレ環境で動く、今時のヤツ
• 候補
– Microsoft Azure DevOps Server(旧Visual
Studio Team Foundation Server)
• https://visualstudio.microsoft.com/ja/tfs/
– Apache Allura
• http://allura.apache.org/
– GitLab Community Edition
• https://gitlab.com/gitlab-org/gitlab-ce
– GitBucket
• https://gitbucket.github.io/
12
わんくま同盟 名古屋勉強会 #48
2. オンプレ環境で動く、今時のヤツ
• Microsoft Azure DevOps Server(旧TFS)
– Visual Studioの1製品
13
ライセンス 商用製品。無料で使えるExpress版(5人迄)もあり。
基盤技術 Microsoft Visual Studio
OS環境 Windows
データベース Microsoft SQL Server
HTTPサーバー Microsoft IIS
VCS管理 git, Microsoft Team Foundation Version Control
日本語UI あり
わんくま同盟 名古屋勉強会 #48
2. オンプレ環境で動く、今時のヤツ
• Apache Allura
– SourceForgeの開発者向けツールとして2009年に
開発が始まり、2011年から同サイトで利用されてい
るOSSプロダクト。2012年にApache Software
Foundation配下に。
14
ライセンス Apache License 2.0
基盤技術 Python
OS環境 Docker, Linux
データベース MongoDB
HTTPサーバー Apache HTTP Server
VCS管理 git, Mercurial, Subversion
日本語UI なし
わんくま同盟 名古屋勉強会 #48
2. オンプレ環境で動く、今時のヤツ
• GitLab Community Edition
– デモ情報
• https://about.gitlab.com/handbook/marketing
/product-marketing/demo/
15
ライセンス MIT License
基盤技術 Ruby on Rails, Go
OS環境 Linux
データベース PostgreSQL
HTTPサーバー nginx
VCS管理 git, Subversion
日本語UI なし
わんくま同盟 名古屋勉強会 #48
2. オンプレ環境で動く、今時のヤツ
• GitBucket
– 開発者は日本人の @takezoen さん
– プラグイン拡張可能
– オンラインデモ
• https://gitbucket.herokuapp.com/
16
ライセンス Apache License 2.0
基盤技術 Scala
OS環境 Windows, Linux, macOS
データベース H2 database, PostgreSQL, MySQL,
HTTPサーバー (war形式なのでServletコンテナとの組み合わせも可能)
VCS管理 git
日本語UI なし
わんくま同盟 名古屋勉強会 #48
2. オンプレ環境で動く、今時のヤツ
• Redmine
– VCS連携機能はありますが、VCS管理機能はありま
せん。
– Issue管理機能が充実しているので、先に紹介した
GitHubクローンと連携して利用する
17
ライセンス GPL v2
基盤技術 Ruby on Rails
OS環境 Windows, Linux, macOS, Docker
データベース MySQL, PostgreSQL, SQLite
HTTPサーバー Apache HTTP Server
VCS連携 git, Mercurial, Subversion, Darcs
日本語UI あり
わんくま同盟 名古屋勉強会 #48
3. 環境構築の際の勘所
今時のオンプレなgithubクローン環境構築
18
わんくま同盟 名古屋勉強会 #48
3. 環境構築の際の勘所
• 環境構築での注意点
– 構築
– 運用
– 基盤技術
• デモ
19
わんくま同盟 名古屋勉強会 #48
3. 環境構築の際の勘所
• 構築
– 環境構築のし易さ
– サービス起動設定
• OS再起動してもちゃんと動くか
– ハードウェア
• ディスク/メモリ容量
• NAS等のデータバックアップ先
– 手順書作成及び確認
20
わんくま同盟 名古屋勉強会 #48
3. 環境構築の際の勘所
• 運用
– バックアップ/リストア, バージョンアップ(SecurityFix)
• 維持のし易さ
• 更新頻度
• 手順書作成及び確認
– サービス状態監視
• 稼働状況
• データ使用量
• 動作パフォーマンス/レスポンス
21
わんくま同盟 名古屋勉強会 #48
3. 環境構築の際の勘所
• 基盤技術
– JavaVM(Scala/Servlet環境)
• LTS(Long Term Support)版を利用しましょう
– Redmine
• v3.x系とv4.x系でプラグインの互換性がないので、利用し
たいプラグインに合わせて選択する
• Windowsの場合、Bitnami Redmineを利用するのが
便利。
– https://bitnami.com/stack/redmine/installer
22
わんくま同盟 名古屋勉強会 #48
3. 環境構築の際の勘所
• デモ
23

今時のオンプレなgithubクローン環境構築

  • 1.
  • 2.
    わんくま同盟 名古屋勉強会 #48 ジコ、ショウカイ。 •H/N: You&I(読み:ユーアンドアイ) • SNS: @you_and_i • 出身: 生まれも育ちも名古屋市 • 年齢: 40歳代 • 本職: 商学部出身の職業プログラマ • 言語: C++, C#他 •所属: プロ生勉強会 名古屋支部 名古屋アジャイル勉強会 わんくま同盟 名古屋勉強会 2
  • 3.
    わんくま同盟 名古屋勉強会 #48 AGENDA 1.GitHubクローンとは 2. オンプレ環境で動く、今時のヤツ 3. 環境構築する際の勘所 3
  • 4.
    わんくま同盟 名古屋勉強会 #48 1.GitHubクローンとは 今時のオンプレなgithubクローン環境構築 4
  • 5.
    わんくま同盟 名古屋勉強会 #48 1.GitHubクローンとは • git – Linux Kernelでは、無料提供されている商用VCS (Version Control System)のBitKeeperサー バーが使われていた。 – 商用製品を利用する事に抵抗感を持った有志が BitKeeperをリバースエンジニアリングして互換クライ アントツールを作成しようとした事が発端で2005年7 月1日に無料提供の中止のアナウンスが出された。 – それをきっかけにOSSで開発が始められた分散型の VCS。 5
  • 6.
    わんくま同盟 名古屋勉強会 #48 1.GitHubクローンとは • GitHub – 2008年4月からあるgitリポジトリを管理する商用の Webサービス。オンプレ環境向けのGitHub Enterprise Serverもある。 – gitリポジトリ管理以外に、リリース管理、Issue管理、 SNS、Wiki、Pastebin(gist)等の機能がある。 – 分散型のVCSの特徴であるPull Request(マージ 要求)の仕組みを活用した開発ワークフロー機能が 良く利用されている。 6
  • 7.
    わんくま同盟 名古屋勉強会 #48 1.GitHubクローンとは • GitHub – 2010年1月に GitHub, Inc. 設立。 – 2018年6月にマイクロソフト社によって買収され、一 部報道で設計図共有サイトと称された。 – 2019年1月に、これまで無償プランでは利用出来な かったプライベートリポジトリ作成機能が利用可能とな る。 7
  • 8.
    わんくま同盟 名古屋勉強会 #48 1.GitHubクローンとは • GitHubクローン – GitHubと同等の機能を開発し提供する、商用 /OSSのアプリケーション/サービスの総称。 – GitHubのようなWebサービスだけでなく、オンプレミス (自社/自宅運用)環境で利用できるものもあります。 8
  • 9.
    わんくま同盟 名古屋勉強会 #48 1.GitHubクローンとは • 何でオンプレミス環境なの – 世の中には、インターネット接続のない開発環境もあ るんですよね。 9
  • 10.
    わんくま同盟 名古屋勉強会 #48 2.オンプレ環境で動く、今時のヤツ 今時のオンプレなgithubクローン環境構築 10
  • 11.
    わんくま同盟 名古屋勉強会 #48 2.オンプレ環境で動く、今時のヤツ • 選定基準 – 基本無料 – アプリケーションの開発が継続中 – 以下の機能が利用可能 • git、Issue、Wiki – Windows OSで動作 • Visual Studioで開発する • セキュリティの観点(ここでは構成管理ツールのエージェント が動作し、状態監視できるの意)でWindowsしか認めら れない環境というものが、この世には存在するのです・・・ • あと、運用の担当者がLinuxに精通してない為 11
  • 12.
    わんくま同盟 名古屋勉強会 #48 2.オンプレ環境で動く、今時のヤツ • 候補 – Microsoft Azure DevOps Server(旧Visual Studio Team Foundation Server) • https://visualstudio.microsoft.com/ja/tfs/ – Apache Allura • http://allura.apache.org/ – GitLab Community Edition • https://gitlab.com/gitlab-org/gitlab-ce – GitBucket • https://gitbucket.github.io/ 12
  • 13.
    わんくま同盟 名古屋勉強会 #48 2.オンプレ環境で動く、今時のヤツ • Microsoft Azure DevOps Server(旧TFS) – Visual Studioの1製品 13 ライセンス 商用製品。無料で使えるExpress版(5人迄)もあり。 基盤技術 Microsoft Visual Studio OS環境 Windows データベース Microsoft SQL Server HTTPサーバー Microsoft IIS VCS管理 git, Microsoft Team Foundation Version Control 日本語UI あり
  • 14.
    わんくま同盟 名古屋勉強会 #48 2.オンプレ環境で動く、今時のヤツ • Apache Allura – SourceForgeの開発者向けツールとして2009年に 開発が始まり、2011年から同サイトで利用されてい るOSSプロダクト。2012年にApache Software Foundation配下に。 14 ライセンス Apache License 2.0 基盤技術 Python OS環境 Docker, Linux データベース MongoDB HTTPサーバー Apache HTTP Server VCS管理 git, Mercurial, Subversion 日本語UI なし
  • 15.
    わんくま同盟 名古屋勉強会 #48 2.オンプレ環境で動く、今時のヤツ • GitLab Community Edition – デモ情報 • https://about.gitlab.com/handbook/marketing /product-marketing/demo/ 15 ライセンス MIT License 基盤技術 Ruby on Rails, Go OS環境 Linux データベース PostgreSQL HTTPサーバー nginx VCS管理 git, Subversion 日本語UI なし
  • 16.
    わんくま同盟 名古屋勉強会 #48 2.オンプレ環境で動く、今時のヤツ • GitBucket – 開発者は日本人の @takezoen さん – プラグイン拡張可能 – オンラインデモ • https://gitbucket.herokuapp.com/ 16 ライセンス Apache License 2.0 基盤技術 Scala OS環境 Windows, Linux, macOS データベース H2 database, PostgreSQL, MySQL, HTTPサーバー (war形式なのでServletコンテナとの組み合わせも可能) VCS管理 git 日本語UI なし
  • 17.
    わんくま同盟 名古屋勉強会 #48 2.オンプレ環境で動く、今時のヤツ • Redmine – VCS連携機能はありますが、VCS管理機能はありま せん。 – Issue管理機能が充実しているので、先に紹介した GitHubクローンと連携して利用する 17 ライセンス GPL v2 基盤技術 Ruby on Rails OS環境 Windows, Linux, macOS, Docker データベース MySQL, PostgreSQL, SQLite HTTPサーバー Apache HTTP Server VCS連携 git, Mercurial, Subversion, Darcs 日本語UI あり
  • 18.
    わんくま同盟 名古屋勉強会 #48 3.環境構築の際の勘所 今時のオンプレなgithubクローン環境構築 18
  • 19.
    わんくま同盟 名古屋勉強会 #48 3.環境構築の際の勘所 • 環境構築での注意点 – 構築 – 運用 – 基盤技術 • デモ 19
  • 20.
    わんくま同盟 名古屋勉強会 #48 3.環境構築の際の勘所 • 構築 – 環境構築のし易さ – サービス起動設定 • OS再起動してもちゃんと動くか – ハードウェア • ディスク/メモリ容量 • NAS等のデータバックアップ先 – 手順書作成及び確認 20
  • 21.
    わんくま同盟 名古屋勉強会 #48 3.環境構築の際の勘所 • 運用 – バックアップ/リストア, バージョンアップ(SecurityFix) • 維持のし易さ • 更新頻度 • 手順書作成及び確認 – サービス状態監視 • 稼働状況 • データ使用量 • 動作パフォーマンス/レスポンス 21
  • 22.
    わんくま同盟 名古屋勉強会 #48 3.環境構築の際の勘所 • 基盤技術 – JavaVM(Scala/Servlet環境) • LTS(Long Term Support)版を利用しましょう – Redmine • v3.x系とv4.x系でプラグインの互換性がないので、利用し たいプラグインに合わせて選択する • Windowsの場合、Bitnami Redmineを利用するのが 便利。 – https://bitnami.com/stack/redmine/installer 22
  • 23.
    わんくま同盟 名古屋勉強会 #48 3.環境構築の際の勘所 • デモ 23