著者|
小川 誠 氏
ティアンドトラスト株式会社
代表取締役社長 CIO CTO
1989年、エス・イー・ラボ入社。その後、1993年にティアンドトラストに入社。システム/38 から IBM i まで、さまざまな開発プロジェクトに参加。またAS/400 、IBM i の機能拡張に伴い、他プラットフォームとの連携機能開発も手掛ける。IBM i 関連の多彩な教育コンテンツの作成や研修、セミナーなども担当。2021年6月から現職。
必要なライセンス・プログラムとオープンソース環境、およびGitの導入が終わったので、ここでは連携に向けた準備を行っていこう。
Gitの初期設定
まず、ユーザー(以下、使用するユーザーは「GITUSER」とする)のホームディレクトリの確認と必要なディレクトリの作成を行う。
ホームディレクトリとは、ユーザーがPASE環境で作業する際のデフォルトのディレクトリのこと。ユーザーごとのホームディレクトリは、ユーザー・プロファイルのHOMEDIRパラメータで指定されている。このパラメータのデフォルト値は*USRPRFであり、これは、/home/<ユーザー・プロファイル> を意味する。ただし、ユーザー・プロファイルを作成してもホームディレクトリは自動作成されないので、ネイティブ画面でMKDIRコマンドで事前に作成しなければならない。
MKDIR DIR(‘/home/GITUSER’)
作成したらサインオンし直して、WRKLNKコマンドでホーム・ディレクトリが現行ディレクトリとして設定されていることを確認する(パラメータを何も指定せずにWRKLNKを実行すると、現行ディレクトリが表示される。図表3)。
次に、/home/GITUSERディレクトリにTESTSRCLIBディレクトリを作成し、Gitが管理するディレクトリとして構成してみよう。以降、 QP2TERM画面を使用して、PASE環境コマンドおよびGitコマンドを実行していく。
この作業で使用するAIXおよびGitコマンドは、以下の3種類。
・pwd:カレント・ディレクトリの確認
・mkdir:ディレクトリの作成
・gitinit:カレントディレクトリをGit管理ディレクトリに構成(Gitのリポジトリを作成)
QP2TERM画面では、英小文字入力が必要になるので、ジョブのCCSIDと、エミュレータのホストコード・ページは、以下を参考に設定しておいてほしい。
・画面:QP2TERM
・ジョブのCCSID:5035
・ホストコード・ページ:939
では、QP2TERM 画面を立ち上げ(CALL QP2TERM)、上記コマンドを実行していこう。
> pwd
/home/GITUSER
GITUSERの現行ディレクトリが /home/GITUSERであることをまず確認する。これ以降、このディレクトリ配下が作業を行う場所となる。
次にTESTSRCLIBディレクトリを作成する。ディレクトリの名前は、これからGitで管理するコードをメンバーとして保存しているソースファイルのライブラリ名と同じにしておくと、後からみてわかりやすい。QP2TERM画面でホームディレクトリにいることを確認し、以下コマンドを実行しよう。その後、cdコマンドで作成したディレクトリに移動する。
> mkdir TESTSRCLIB
$
> cd TESTSRCLIB
$
> pwd
/home/GITUSER/TESTSRCLIB
さらに、ソースファイルと同名のディレクトリを TESTS
RCLIB ディレクトリ内に作成しておこう。
> mkdir QCLSRC
$
> mkdir QDDSSRC
$
> mkdir QRPGSRC
$
> ls -l
合計 48
drwxrwsrwx 2 gituser 0 8192 May 25 13:34 QCLSRC
drwxrwsrwx 2 gituser 0 8192 May 25 13:34 QDDSSRC
drwxrwsrwx 2 gituser 0 8192 May 25 13:34 QRPGSRC
必要なディレクトリの作成が終わったので、Gitコマンドを実行してみよう。Gitの状態を確認するにはgitstatusコマンドを実行する。すると以下のエラーが表示されるはずだ。
>git status
fatal: not a git repository (or any of the parent directories): .git
メッセージの意味は「Gitのリポジトリ .gitがない」というもの。Gitでディレクトリ内のコードを管理するには、さらに準備が必要であることがわかる。
あるディレクトリをGitの管理対象にするには、gitinitというコマンドを使用する。このコマンドを実行すると、現行ディレクトリにGitリポジトリが作成される。今回は、~/TESTSRCLIB にリポジトリを作成するので、pwdで現行ディレクトリを確認した後、gitinitコマンドを実行する。
>git init
hint: Using ‘master’ as the name for the initialbranch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config –global init.defaultBranch
hint:
hint: Names commonly chosen instead of ‘master’ are ‘main’, ‘trunk’ and
hint: ‘development’. The just-created branch can
be renamed via this command:
hint:
hint: git branch -m
Initialized empty git repository in /home/GITUSER/TESTSRCLIB/.git/
最後の行は、「/home/GITUSER/TESTSRCLIB/.git/ 内に空のGitリポジトリが初期化された」という意味。再度gitstatusを実行してみよう。
>git status
On branch master
No commits yet
nothing to commit (create/copy files and use “git add” to track)
今度は、「コミットするものがない」と表示されたはずだ。
これでGitのリポジトリが作成されたのだが、実際にコミット等の作業を行うには、それを実行するユーザーを識別するためのユーザー名とメール・アドレスを事前に登録しておく必要がある。まず、現在の登録状況を確認してみよう。
>git config –list
core.repositoryformatversion=0
core.bare=false
core.logallrefupdates=true
core.ignorecase=true
user.nameおよびuser.emailが表示されていなければここで追加しておく。
>git config –global user.name ‘Ogawa, Makoto’
$
>git config –global user.email ‘makoto@tat.jp’
$
>git config –list
user.name=Ogawa, Makoto
user.email=makoto@tat.jp
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
core.ignorecase=true
万が一、下記のようにWARNINGが表示された場合は、前章の .profileの2行目の追加ができていない(もしくは追加後に QP2TERM プログラムを再起動していない)ので確認してほしい。
>git config –list
WARNING: terminal is not fully functional
– (press RETURN)$
特集 5250環境でGitを利用するGit再入門
Part1 RPG Ⅲソースはバージョン管理をしなくてもいいのだろうか
Part2 5250環境(SEU)でGitを活用する
Part3 連携方法 – 準備編
Part4 連携方法 – 基本編
Part5 連携方法 – 応用編
Part6 次のステップへ向けて