Gitホスティングサービスはオンプレミスとクラウド、どちらが主流か。GitHub GitLab BitBucketのオンプレ版紹介と日米事情

Gitホスティングサービスのオンプレミス版とクラウド版の違い Gitホスティングサービス・Gitプラットフォームサービスを使うのがGitでソースコードを管理する上では当たり前のようになってきました。サービスベンダーはクラウド版とオンプレミス版を提供していることが多く、企業は自社のセキュリティポリシーやベンダーに求めるサポートによってオンプレミス版とクラウド版を選択していることが多いでしょう。 各ベンダー・プラットフォームのそれぞれのオンプレミス版について紹介をさせていただきます。 GitHub Enterprise Server GitHub.com のオンプレミス版です。現在のGitHubのライセンスモデルではGitHub Enterpriseのライセンスを購入するとGitHub Enterprise Cloud(GH)とGitHub Enterprise Server(GHE)の両方が同一ライセンスで利用することが出来ます。 GitHub Enterprise ServerではGitHub.comの機能が一部使えないものがありますが、基本的には全ての機能が使えると思っていただいて差し支えないと思います。 GitHub Enterprise Serverで使えない機能がいつ使えるようになるかは下記のGitHub社が公開しているロードマップを御覧ください。 https://github.com/github/roadmap/projects/1?card_filter_query=label%3Aserver また、その他のベータ版の機能等についても同様のGitHub Projectで公開されています。 https://github.com/github/roadmap/projects/1 なおGHEの料金は$21 per user/monthとなっています。 月額決済はなく年額決済のみ・10人単位、など購入経路などによっても料金や体系が異なる可能性がありますのでぜひGitHub社、Microsoft社、代理店(マクニカネットワークス社など)などにお問い合わせください。 https://github.com/pricing https://www.macnica.net/github/index.html/ GHEはクラスタリングをサポートしており、大人数での利用も可能です。…

Continue Reading Gitホスティングサービスはオンプレミスとクラウド、どちらが主流か。GitHub GitLab BitBucketのオンプレ版紹介と日米事情

GitLabは最新版を使おう!GitLabのバージョンポリシーとアップグレードの方法

当ブログでは以前GitLabのインストールに関する記事を書かせていただきましたが、今回はその運用にあたって、「バージョンアップ」関連についてです。 前回のインストールについてはこちらをご覧ください。 https://developerex.jp/gitlab-ee-quick-start-guide-within-10min/ GitLabのバージョンポリシー GitLabはセマンティックバージョニングによるリリースを採用しています。そのため、アップグレードはメジャーバージョン、マイナーバージョン、パッチバージョンの3段階で行われます。 参考: GitLab release and maintenance policy https://docs.gitlab.com/ee/policy/maintenance.html また、上記サイトにてサポート(パッチが提供されるバージョン)ポリシーについては下記のように記載されています。 > Backporting bug fixes for only the current stable release at any given time. (See patch releases.)…

Continue Reading GitLabは最新版を使おう!GitLabのバージョンポリシーとアップグレードの方法

GitとGitプラットフォームについてと、GitHubかGitLabかBitBucketの3大Gitプラットフォーム紹介

Gitについて 2020年現在、ソースコード管理システムとしてはおそらく最も使われているのはGitです。GitはLinuxの開発者でもあるLinus Benedict Torvalds氏により開発され2005年に登場しました。当時はCVSやSVNやが主流でしたが、開発者個々人が細かな変更履歴も含めて管理(記録・追跡)が行えるバージョン管理システムとしてGitが使われるようになってきました。 その後、Gitのプラットフォーム、特にGitHub.comの登場とオープンソースソフトウェアの開発コミュニティのGitHubへの移行に伴いGitの普及速度がますます伸び、現在ではデファクトのバージョン管理システムであると言っても過言ではない普及率になっているかと思います。 Gitプラットフォームのメリット 2010年頃の日本では公式(標準)のGit を自社のサーバー上で稼働させているケースも多くありました。一方で、Gitサーバーの運用コストも低くはなく、より利便性の高い、クラウドで動作するGitプラットフォームサービス、GitHubやBitBucket、GitLabなどがその後大きく普及し、2020年現在では、Gitサーバー単体の利用や運用ではなく上述のものを利用しているチームが殆どを占めているように思います。 Gitサーバー単体ではソースコードを管理することが出来るのみで、UIなどはなく、コードレビューの機能なども備えていません。コマンドラインからGitサーバーのURLに対してブランチ(メインブランチから派生したトピックブランチ、もしくはメインブランチのソースコード)をPushして保管することが出来るのみです。 Gitサーバーの運用を簡単にするのに加えて、UIなどの様々な機能を追加したものがGitプラットフォームです。 プラットフォームを利用するメリットとして特に次の3つがどのプラットフォームでも共通して言えるものであり、大きいメリットでしょう。 ソースコードのコラボレーション開発・コードレビュー機能(Pull Request、Merge Request) WebUIで様々ながことが行える高いユーザビリティ チケット管理機能などの開発に関わる重要な付随機能やそういった機能・サードパティサービスとの連携機能 ソースコードのコラボレーション開発・コードレビュー機能(Pull Request、Merge Request) Gitではメインブランチとは別にトピックブランチなどで開発をし、メインブランチにPull Request(or Merge Request)を作成、トピックブランチでの開発内容をメインブランチに取り込むことによって、ノンリニア開発(数千の並列ブランチでの開発)を実現します。 それに伴い非常に重要な役割を果たすのがにPull Request(or Merge Request)といった機能で、メインブランチとサブブランチの差分を表示し、また、それについて開発者同士でコメント等によりコミュニケーションを行いマージするかどうかの可否判断をすることができます。 業務でのソフトウェア開発やオープンソースソフトウェアの開発など、あらゆる種類のソフトウェアの開発でこの機能は利用されています。 WebUIで様々ながことが行える高いユーザビリティ Gitサーバー単体ではすべての操作がコマンドライン経由であり多くの方にとって難しい、利便性が低い、とっつきづらいものでしょう。その点、先述のGitプラットフォームはいずれもソースコードを簡単にに閲覧する事ができる、ファイルや行ごとにいつ誰がどのような理由(コミットメッセージ)でコミットしたか、などを容易に閲覧や検索が出来るなどの強力な機能、ユーザビリティが備わっています。…

Continue Reading GitとGitプラットフォームについてと、GitHubかGitLabかBitBucketの3大Gitプラットフォーム紹介
SVNからGitへの移行 ~ SVNからGitLab CE(Self-hosted)への移行ステップガイド
SVNからGitLabへの移行の手順です

SVNからGitへの移行 ~ SVNからGitLab CE(Self-hosted)への移行ステップガイド

はじめに 近年ではバージョン管理システムのディファクトスタンダードといっても過言ではないGitですが、実際にはまだまだSubversion(以下、SVN)で管理をしている現場も多いと思われます。 また、「GitやGitlabの名前は聞いたことがあるけど、SVNとの違いがよくわからない」「SVNの管理から移行するメリットはなんなのか?」 「今のプロジェクトを移行してみたいけど、どうすればいいのか?安全に移行できる?」といった疑問をお持ちの方も多いのではないでしょうか。 確かに、使い慣れたツールや管理方法を変更するのであれば、相応のメリットが欲しいところです。また、実際に移行する作業も わかりやすく、かつ安全に実行できることが望ましいです。 そこで本記事では、前半で「SVNとGitの違いはなにか」「バージョン管理をGit(GitLab)で行うメリット」について紹介をし、 後半でSVN管理のプロジェクトをGit/GitLab管理のプロジェクトに移行する移行する手順を紹介します。 SVNとGitについて ここでは、SVNとGitの違いや、Git・GitLabを導入するメリットについて紹介をしていきます。 SVNとGit・GitLab まずはSVNとGitについて述べていきます。大前提として、SVNもGitも同じ「バージョン管理システム」です。 つまり、ソースコードをはじめとした様々なファイルの変更履歴を「リポジトリ(= 書庫)」に記録し、管理・追跡するためのシステムです。しかし、 SVNとGitは構造的な違いを持っています。 SVN : 集中型バージョン管理システム SVNは、集中型バージョン管理システムです。SVNの場合は、リモート環境にインストールしたリモートリポジトリだけが、ソースコードのバージョンを管理しています。 開発に参加するメンバーは、各自がこの中央リポジトリにアクセスして、ローカル環境にあるファイルをコミット(新バージョンとしてファイルを保存)したり、 ローカル環境へチェックアウト(特定のバージョンのファイルを取得)したりします。 このように、SVNはバージョン管理を行うリポジトリが、リモート環境にのみ存在するという構造を持っています。 Git : 分散型バージョン管理システム Gitは分散型バージョン管理システムです。Gitの場合は、リモート環境にあるリモートリポジトリだけでなく、各開発メンバーのローカル環境にも リポジトリ(ローカルリポジトリ)が存在します。開発メンバーはこのローカルリポジトリに対して修正や追加したファイルをコミットしていきます。 このローカルリポジトリは、リモートリポジトリの完全なコピー(クローン)として作成されます。ローカルリポジトリにコミットされた変更内容は、 リモートリポジトリへプッシュすることで、リモート側へ反映されます。また、リモートリポジトリからプルをすることで、ローカルリポジトリの 内容をリモートリポジトリとあわせることができます。…

Continue Reading SVNからGitへの移行 ~ SVNからGitLab CE(Self-hosted)への移行ステップガイド
ゼロから10分で出来る!オンプレ版GitLab導入クイックスタートガイド
GitLab CE(OSS版) とEEの違いです。

ゼロから10分で出来る!オンプレ版GitLab導入クイックスタートガイド

はじめに 本記事では、Ubuntu 16.04 LTS に GitLab Enterprise Edition (以下、EE) を導入する手順を示します。Enterprise という名前ではありますが、基本機能のみの Core プランの利用はなんと 無料(Free)で使うことが出来ます。Core プランでもチーム開発に必要な機能のほとんどにアクセスできるので、まずはここからお試ししてみましょう。インストールパッケージが非常によく出来ているので、導入はとても簡単です。 最短5行、10分程度で終わります。 GitLab には EE の他に CE (Community Edition) というバージョンがありますが、こちらは MIT License の下で開発されているオープンソースソフトウェアという位置づけであり、機能的には EE の Core…

Continue Reading ゼロから10分で出来る!オンプレ版GitLab導入クイックスタートガイド