– 全てのコードをGITで管理しましょう! –
著: Alan Seiden (2021年9月20日)
訳: 玉田 優 (2021年10月15日)
はじめに
Gitは事実上、オープンソースのバージョン管理をする際の標準になっています。
それにもかかわらず、オープンソースコードにはGitを使用していても、従来のIBM iのプログラムやその他のコードにはバージョン管理が全く行われていない、または、アクセスが困難なリポジトリに蓄積されている、ということはないでしょうか?
この記事では、あなたがコードをGitに移行したくなる理由と、IBM iユーザーにとって移行時に実用的なツールを紹介します。
なぜGitなのか?
従来のIBM iコードを、Gitに移行検討すべき理由はいくつかあります。
① 同じツールを使っての共同作業
Bitbucket、GitLab、GitHubのようなインターネットを使ったGit hostsは共同作業やレビューのためのツール(例:プルリクエストのレビュー機能)を提供します。
そして、より複雑なプロジェクト管理のためにJiraのような外部システムと統合することができます。
コードがGitリポジトリに無い場合は、他の調整手段に頼らなければなりません。
② 一貫性
1つのツールを使用することで、費用や学習コストが削減できます。
また、バージョン管理システムを切り替える際の認知負担(特にSubversionのような乱暴な集中型バージョン管理システムの場合)も軽減され、開発者にとってもより楽になります。
③ クロストレーニング
全てのソースコードを1つのシステムで管理することで、チームがお互いのコード(PHP、 Python、 Node.js、 RPG、 SQLなど)を理解するためのクロストレーニングが容易になります。
④ より簡単なナビゲーション
ウェブ上のGit hostsを使用することで、マネージャーや他の言語を使用するチームメンバーなど、直接コードを書かない認証されたユーザーでも、より簡単にコードベースの閲覧及び検索が可能です。
⑤ 多くの人の共通知識
Gitは、否が応でもほとんどの開発者にとって、バージョン管理の標準となっています。
新入社員は少なくとも基本的なことは十分理解しているでしょうから、すぐに使い始めることができます。
そうすれば、導入にかかる時間や教育時間を短縮することができるでしょう。
もしも…
- すでに他の方法でソース管理をしているなら…
上記のような理由から、Gitに変更する価値があるかもしれません。
あるいは、過去の多くのチェンジ・マネジメント・ベンダーは自動的に行えるGitミラーリングでその溝を埋めています。
- 今は使っていないコード、もしくはコードを近々置き換える予定がある。それでも検討すべきですか?
コードをGitで管理しておけば、あなたが新しいアプリケーションにロジックを移植する際の見直しが容易になります。
(古いアプリケーションの中に、文書化されていない古いビジネスロジックがどれだけあるでしょうか?)
また、証拠開示用にコードを保持することもできます。
(法律上の理由でコードを提供しなければならない場合、履歴が非常に役立ちます。)
様々なIDEやワークフローに対応しているGitツール
私たち(※Alan Seiden氏)Seiden GroupはIBM iを中心に活動をしていますが、Gitの採用は全てのプラットフォームに共通するトレンドであると考えています。
< 株式会社中部システムも同様に、Gitを活用して、チーム開発をしています! >
利用可能なツール
トラディショナルなIBM i言語に対して、異なるニーズをカバーする複数の解決策が存在します。
① 従来のチェンジ・マネジメント・ベンダーを利用しているユーザー
ほとんどの商業向けチェンジ・マネジメント・ベンダーはGitへの統合を提供しています。
もしあなたが商用変更管理ツールを使用していて、Gitに興味があるなら、ベンダーに詳細を問い合わせてみてください。
② RDi、SEU、PDMユーザー
SEUなどのレガシーIDEや、RDiなどの他のIDEのユーザーがGitを利用できるように、私たち(※Alan Seiden氏)のチームメンバーであるRichard Schoen氏が「iForGit」という商用製品を提供しています。
③ VSCode for IBM i
RPG/COBOL/CLのワークフローの近代化に関心のあるIBM i開発チームのために、(※Alan Seiden氏の)チームメンバーのLiam Allan氏は、Visual Studio Codeで使用するIBM i専用のGitクライアントを無償で提供しています。
< VSCode for IBM iについては、こちらの記事で紹介しています。 >
さいごに
OpenVMSについては、現在のVMSの保守をしているVMS SoftwareがvGitを提供しています。
vGitはGitを再実装したツールのようです。
Visual Basic 6のようなWindowsベースのIDEについては、(※Alan Seiden氏の)チームメンバーのCalvin氏が「Visual Git」を手がけています。
「Visual Git」とは、VB6や以前のバージョンのVisual Studioなどの様々なホストにGitを統合するツールです。
この記事を書いている時点ではまだ開発中ですが、プレリリースにサインアップすることができます。