SlideShare a Scribd company logo
1 of 23
Download to read offline
わんくま同盟 名古屋勉強会 #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

More Related Content

What's hot

WindowsでGitを使う際のベストプラクティス
WindowsでGitを使う際のベストプラクティスWindowsでGitを使う際のベストプラクティス
WindowsでGitを使う際のベストプラクティスRyo Sumasu
 
GitBucketで社内OSSしませんか?
GitBucketで社内OSSしませんか?GitBucketで社内OSSしませんか?
GitBucketで社内OSSしませんか?Kiyotaka Kunihira
 
【社内勉強会】弊社でGit!実案件での運用
【社内勉強会】弊社でGit!実案件での運用【社内勉強会】弊社でGit!実案件での運用
【社内勉強会】弊社でGit!実案件での運用Reimi Kuramochi Chiba
 
Cloud Functionsの紹介
Cloud Functionsの紹介Cloud Functionsの紹介
Cloud Functionsの紹介Takuya Ueda
 
Cloud functionsの紹介
Cloud functionsの紹介Cloud functionsの紹介
Cloud functionsの紹介Takuya Ueda
 
Namespace API を用いたマルチテナント型 Web アプリの実践
Namespace API を用いたマルチテナント型 Web アプリの実践Namespace API を用いたマルチテナント型 Web アプリの実践
Namespace API を用いたマルチテナント型 Web アプリの実践Takuya Ueda
 
GoによるiOSアプリの開発
GoによるiOSアプリの開発GoによるiOSアプリの開発
GoによるiOSアプリの開発Takuya Ueda
 
エンタープライズソフトウェア開発とOSS
エンタープライズソフトウェア開発とOSSエンタープライズソフトウェア開発とOSS
エンタープライズソフトウェア開発とOSSHiroshi Nakamura
 
新人Git/Github研修公開用スライド(その2)
新人Git/Github研修公開用スライド(その2)新人Git/Github研修公開用スライド(その2)
新人Git/Github研修公開用スライド(その2)pupupopo88
 
私が複数人開発で感じている Git・GitHubのうまみ
私が複数人開発で感じている Git・GitHubのうまみ私が複数人開発で感じている Git・GitHubのうまみ
私が複数人開発で感じている Git・GitHubのうまみShihomi Katayama
 
ホームディレクトリに埋もれた便利なコードをさがせ!
ホームディレクトリに埋もれた便利なコードをさがせ!ホームディレクトリに埋もれた便利なコードをさがせ!
ホームディレクトリに埋もれた便利なコードをさがせ!Yohei Fushii
 
オススメの標準・準標準パッケージ20選
オススメの標準・準標準パッケージ20選オススメの標準・準標準パッケージ20選
オススメの標準・準標準パッケージ20選Takuya Ueda
 
スッとGoを取り入れる
スッとGoを取り入れるスッとGoを取り入れる
スッとGoを取り入れるYusuke Wada
 
静的解析とUIの自動生成を駆使してモバイルアプリの運用コストを大幅に下げた話
静的解析とUIの自動生成を駆使してモバイルアプリの運用コストを大幅に下げた話静的解析とUIの自動生成を駆使してモバイルアプリの運用コストを大幅に下げた話
静的解析とUIの自動生成を駆使してモバイルアプリの運用コストを大幅に下げた話Takuya Ueda
 
GAE/Goとsyncパッケージ
GAE/GoとsyncパッケージGAE/Goとsyncパッケージ
GAE/GoとsyncパッケージTakuya Ueda
 
GitとCIとかチャットとかをオンプレで運用する話
GitとCIとかチャットとかをオンプレで運用する話GitとCIとかチャットとかをオンプレで運用する話
GitとCIとかチャットとかをオンプレで運用する話mdome
 
GAE/GoでLINE Messaging API を使う
GAE/GoでLINE Messaging API を使うGAE/GoでLINE Messaging API を使う
GAE/GoでLINE Messaging API を使うTakuya Ueda
 
やさしいGitの内部構造 - yapcasia2013
やさしいGitの内部構造 - yapcasia2013やさしいGitの内部構造 - yapcasia2013
やさしいGitの内部構造 - yapcasia2013DQNEO
 

What's hot (20)

WindowsでGitを使う際のベストプラクティス
WindowsでGitを使う際のベストプラクティスWindowsでGitを使う際のベストプラクティス
WindowsでGitを使う際のベストプラクティス
 
GitBucketで社内OSSしませんか?
GitBucketで社内OSSしませんか?GitBucketで社内OSSしませんか?
GitBucketで社内OSSしませんか?
 
【社内勉強会】弊社でGit!実案件での運用
【社内勉強会】弊社でGit!実案件での運用【社内勉強会】弊社でGit!実案件での運用
【社内勉強会】弊社でGit!実案件での運用
 
Cloud Functionsの紹介
Cloud Functionsの紹介Cloud Functionsの紹介
Cloud Functionsの紹介
 
Cloud functionsの紹介
Cloud functionsの紹介Cloud functionsの紹介
Cloud functionsの紹介
 
Namespace API を用いたマルチテナント型 Web アプリの実践
Namespace API を用いたマルチテナント型 Web アプリの実践Namespace API を用いたマルチテナント型 Web アプリの実践
Namespace API を用いたマルチテナント型 Web アプリの実践
 
GoによるiOSアプリの開発
GoによるiOSアプリの開発GoによるiOSアプリの開発
GoによるiOSアプリの開発
 
エンタープライズソフトウェア開発とOSS
エンタープライズソフトウェア開発とOSSエンタープライズソフトウェア開発とOSS
エンタープライズソフトウェア開発とOSS
 
新人Git/Github研修公開用スライド(その2)
新人Git/Github研修公開用スライド(その2)新人Git/Github研修公開用スライド(その2)
新人Git/Github研修公開用スライド(その2)
 
私が複数人開発で感じている Git・GitHubのうまみ
私が複数人開発で感じている Git・GitHubのうまみ私が複数人開発で感じている Git・GitHubのうまみ
私が複数人開発で感じている Git・GitHubのうまみ
 
ホームディレクトリに埋もれた便利なコードをさがせ!
ホームディレクトリに埋もれた便利なコードをさがせ!ホームディレクトリに埋もれた便利なコードをさがせ!
ホームディレクトリに埋もれた便利なコードをさがせ!
 
Github of project
Github of projectGithub of project
Github of project
 
オススメの標準・準標準パッケージ20選
オススメの標準・準標準パッケージ20選オススメの標準・準標準パッケージ20選
オススメの標準・準標準パッケージ20選
 
スッとGoを取り入れる
スッとGoを取り入れるスッとGoを取り入れる
スッとGoを取り入れる
 
静的解析とUIの自動生成を駆使してモバイルアプリの運用コストを大幅に下げた話
静的解析とUIの自動生成を駆使してモバイルアプリの運用コストを大幅に下げた話静的解析とUIの自動生成を駆使してモバイルアプリの運用コストを大幅に下げた話
静的解析とUIの自動生成を駆使してモバイルアプリの運用コストを大幅に下げた話
 
Pythonを始めよう
Pythonを始めようPythonを始めよう
Pythonを始めよう
 
GAE/Goとsyncパッケージ
GAE/GoとsyncパッケージGAE/Goとsyncパッケージ
GAE/Goとsyncパッケージ
 
GitとCIとかチャットとかをオンプレで運用する話
GitとCIとかチャットとかをオンプレで運用する話GitとCIとかチャットとかをオンプレで運用する話
GitとCIとかチャットとかをオンプレで運用する話
 
GAE/GoでLINE Messaging API を使う
GAE/GoでLINE Messaging API を使うGAE/GoでLINE Messaging API を使う
GAE/GoでLINE Messaging API を使う
 
やさしいGitの内部構造 - yapcasia2013
やさしいGitの内部構造 - yapcasia2013やさしいGitの内部構造 - yapcasia2013
やさしいGitの内部構造 - yapcasia2013
 

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

PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識Katsuhiro Morishita
 
C++CLIで、ネイティブCの保守開発に.NETを使って楽をしよう
C++CLIで、ネイティブCの保守開発に.NETを使って楽をしようC++CLIで、ネイティブCの保守開発に.NETを使って楽をしよう
C++CLIで、ネイティブCの保守開発に.NETを使って楽をしようStudy Group by SciencePark Corp.
 
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座DIVE INTO CODE Corp.
 
Dockerで.NET Core 3.0 GUIアプリを動かす話
Dockerで.NET Core 3.0 GUIアプリを動かす話Dockerで.NET Core 3.0 GUIアプリを動かす話
Dockerで.NET Core 3.0 GUIアプリを動かす話You&I
 
「CodeYourRuby」で オープンなコードレビューを体験しよう
「CodeYourRuby」で オープンなコードレビューを体験しよう「CodeYourRuby」で オープンなコードレビューを体験しよう
「CodeYourRuby」で オープンなコードレビューを体験しよう中條 剛
 
今年はRubyを勉強するぞ!という方へCodeYourRubyリポジトリのご紹介
今年はRubyを勉強するぞ!という方へCodeYourRubyリポジトリのご紹介今年はRubyを勉強するぞ!という方へCodeYourRubyリポジトリのご紹介
今年はRubyを勉強するぞ!という方へCodeYourRubyリポジトリのご紹介中條 剛
 
LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45civic Sasaki
 
QtでC++開発環境構築
QtでC++開発環境構築QtでC++開発環境構築
QtでC++開発環境構築You&I
 
GitHub Copilotとともに次の開発体験へ
GitHub Copilotとともに次の開発体験へGitHub Copilotとともに次の開発体験へ
GitHub Copilotとともに次の開発体験へKazumi IWANAGA
 
Django で始める PyCharm 入門
Django で始める PyCharm 入門Django で始める PyCharm 入門
Django で始める PyCharm 入門kashew_nuts
 
LINEにおける GitHub Enterpriseの活用事例と LINE Notifyについて
LINEにおける GitHub Enterpriseの活用事例と LINE NotifyについてLINEにおける GitHub Enterpriseの活用事例と LINE Notifyについて
LINEにおける GitHub Enterpriseの活用事例と LINE NotifyについてLINE Corporation
 
Pythonとgit hubとベンチャー企業の上手な付き合い方
Pythonとgit hubとベンチャー企業の上手な付き合い方Pythonとgit hubとベンチャー企業の上手な付き合い方
Pythonとgit hubとベンチャー企業の上手な付き合い方Takahiro Fujiwara
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割Toru Yamaguchi
 
2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについてMasahito Zembutsu
 
Metahub for github
Metahub for githubMetahub for github
Metahub for githubSuguru Oho
 
深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデル深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデルYuta Kashino
 
git初心者からgit-flowを使えるレベルになって、リリースとレビューを効率化しよう
git初心者からgit-flowを使えるレベルになって、リリースとレビューを効率化しようgit初心者からgit-flowを使えるレベルになって、リリースとレビューを効率化しよう
git初心者からgit-flowを使えるレベルになって、リリースとレビューを効率化しようStudy Group by SciencePark Corp.
 
Pyconjp2016 pyftplib
Pyconjp2016 pyftplibPyconjp2016 pyftplib
Pyconjp2016 pyftplibShinya Okano
 
リモートデバッグツール Weinerをつかってみた
リモートデバッグツール Weinerをつかってみたリモートデバッグツール Weinerをつかってみた
リモートデバッグツール WeinerをつかってみたMasakazu Muraoka
 

Similar to 今時のオンプレなgithubクローン環境構築 (20)

PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
 
C++CLIで、ネイティブCの保守開発に.NETを使って楽をしよう
C++CLIで、ネイティブCの保守開発に.NETを使って楽をしようC++CLIで、ネイティブCの保守開発に.NETを使って楽をしよう
C++CLIで、ネイティブCの保守開発に.NETを使って楽をしよう
 
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
 
Dockerで.NET Core 3.0 GUIアプリを動かす話
Dockerで.NET Core 3.0 GUIアプリを動かす話Dockerで.NET Core 3.0 GUIアプリを動かす話
Dockerで.NET Core 3.0 GUIアプリを動かす話
 
「CodeYourRuby」で オープンなコードレビューを体験しよう
「CodeYourRuby」で オープンなコードレビューを体験しよう「CodeYourRuby」で オープンなコードレビューを体験しよう
「CodeYourRuby」で オープンなコードレビューを体験しよう
 
今年はRubyを勉強するぞ!という方へCodeYourRubyリポジトリのご紹介
今年はRubyを勉強するぞ!という方へCodeYourRubyリポジトリのご紹介今年はRubyを勉強するぞ!という方へCodeYourRubyリポジトリのご紹介
今年はRubyを勉強するぞ!という方へCodeYourRubyリポジトリのご紹介
 
LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45
 
QtでC++開発環境構築
QtでC++開発環境構築QtでC++開発環境構築
QtでC++開発環境構築
 
GitHub Copilotとともに次の開発体験へ
GitHub Copilotとともに次の開発体験へGitHub Copilotとともに次の開発体験へ
GitHub Copilotとともに次の開発体験へ
 
Django で始める PyCharm 入門
Django で始める PyCharm 入門Django で始める PyCharm 入門
Django で始める PyCharm 入門
 
LINEにおける GitHub Enterpriseの活用事例と LINE Notifyについて
LINEにおける GitHub Enterpriseの活用事例と LINE NotifyについてLINEにおける GitHub Enterpriseの活用事例と LINE Notifyについて
LINEにおける GitHub Enterpriseの活用事例と LINE Notifyについて
 
Pythonとgit hubとベンチャー企業の上手な付き合い方
Pythonとgit hubとベンチャー企業の上手な付き合い方Pythonとgit hubとベンチャー企業の上手な付き合い方
Pythonとgit hubとベンチャー企業の上手な付き合い方
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
 
2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて
 
初めてのDocker
初めてのDocker初めてのDocker
初めてのDocker
 
Metahub for github
Metahub for githubMetahub for github
Metahub for github
 
深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデル深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデル
 
git初心者からgit-flowを使えるレベルになって、リリースとレビューを効率化しよう
git初心者からgit-flowを使えるレベルになって、リリースとレビューを効率化しようgit初心者からgit-flowを使えるレベルになって、リリースとレビューを効率化しよう
git初心者からgit-flowを使えるレベルになって、リリースとレビューを効率化しよう
 
Pyconjp2016 pyftplib
Pyconjp2016 pyftplibPyconjp2016 pyftplib
Pyconjp2016 pyftplib
 
リモートデバッグツール Weinerをつかってみた
リモートデバッグツール Weinerをつかってみたリモートデバッグツール Weinerをつかってみた
リモートデバッグツール Weinerをつかってみた
 

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

  • 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