abapGitServerをさわってみた

この記事を書いたメンバー:

SAITO Keita

abapGitServerをさわってみた

目次

そもそもabapGitServerって?

ABAPで実装されたGit Serverになります。

先日ご紹介したabapGit と abapGitServerを組み合わせて利用することによって。 外部のgitホスティングサービス or 適宜gitサーバを立てる必要がくなります。

注意点!

外部のgitホスティングサービスを利用しないので完全にローカルな環境でOKかというとそうでもなくて。

abapGitServerのWebフロントエンド部分にCloudflareのCDNjsを利用しています。 このためWebフロントエンドにアクセスする環境がCloudflare(https://cdnjs.cloudflare.com)につながらない場合では当然ライブラリが利用できません。 このような場合はabapGitServerの利用は諦めることになるかと思います。 (ライブラリを自前で用意して、参照先を書き換えれば使えるのでしょうけど……)

下記のようなWebフロントエンド画面に各種ライブラリが利用されています。

abapGitServerのリポジトリ

abapGitServerを利用する前提条件

abapGitServerを利用するには上記ライブラリが事前に必要となります。

abapGitserverの導入

まずは前提条件になっている物を導入していきます。

前提条件:abapGitのインストール

abapGitを触ってみた(GitHub編)を参照して下さい。

前提条件:ABAP-Swaggerのインストール

今回、abapGitにてローカルパッケージ($ABAP-SWAGGER)にhttps://github.com/larshp/ABAP-Swaggerのクローンを行った。

OFFLINE Projectの場合は、

上記赤枠からzipファイルをダウンロードして、

abapGitの+ Offlineからリポジトリの作成及びzipファイルインポートを行って下さい。

Import zip\

abapGitServerのインストール

今回、abapGitにてローカルパッケージ($ABAPGITSERVER)にhttps://github.com/larshp/abapGitserverのクローンを行った。

OFFLINE Projectの場合は、 

上記赤枠からzipファイルをダウンロードして、

abapGitの+ Offlineからリポジトリの作成及びzipファイルインポートを行って下さい。

abapGitServerの開始

TRCD:ZABAPGITSERVERからWebフロントエンドにアクセスします。

TRCD:ZABAPGITSERVERを実行

Error when calling frontend services 7……失敗しました。 

考えてみるとHTTPの設定をすっかり忘れていました。

現在の状態を確認します。

TRCD:SMICM -> ジャンプ -> サービス

HTTPのサービス名/ポートが0で無効になっていますね。

HTTPの設定

TRCD:RZ10からicm/server_portの設定を行います。

今回はDEFAULTプロファイルに下記の設定を追加します。

パラメータ名パラメータ値
icm/server_port_0PROT=HTTP,PORT=8000

TRCD:RZ10からDEFAULT & 拡張更新を選択して変更を選択

該当の値を追加して保存を選択

有効化を選択します 

プロファイルを変更したのでSAP MMCから再起動を行います。

再起動後、TRCD:SMICM -> ジャンプ -> サービス にて状態の確認をおこないます。

httpが8000で有効になっている事を確認できました。

気を取り直してTRCD:ZABAPGITSERVERからWebフロントエンドにアクセスします。

IEが立ち上がり、接続ユーザを聞かれるので適宜入力。

abapGitServerの画面が立ち上がります。

ちなみにabapGitServerのロゴ画像ですがレバパテらしいです。(うな丼かと思った……)

ちなみにここでアクセスするアドレスは

http://<SAPLOCALHOSTFULL>:<port>/sap/zabaptgitserverとなっています。

前述した通り、このWebフロントエンドはCloudflareのCDNjsライブラリを利用しているので。 下記のような画面がでる場合は、アクセスできるようにcdnjs.cloudflare.comを信頼済みサイトに入れて下さい。

abapGitServerでリポジトリの作成

abapGitServerのウェブフロントエンドが表示されたら。

+ Createボタンからレポジトリの作成を行います。

必要事項を入力してCreateを選択

NameDescription
AGSHelloWorldhelloworld
AGSHelloWorldhelloworld

上のabapGitServerリンクから前の画面に戻ります。

リポジトリが作成されました。

今回作成されたリポジトリAGSHelloWorldを選択すると。

リポジトリのURLが記述されています。

abapGitからClone

abapGitを起動して+Cloneボタンを選択

Git clone urlに先程作成されたリポジトリに表示されていたURLを入力し、対象となるパッケージを指定してOKを選択する。

接続情報を聞かれるので適宜入力。 

cloneされました。

abapGitのリポジトリにオブジェクトを追加する

今回はZAGSHELLOWORLDというサンプルプログラムを対象パッケージに登録します。

プログラムの登録後にabapGitで対象リポジトリにオブジェクトが登録された事を確認します。 

abapGitでCommit & push

abapGitで対象リポジトリのStageボタンを選択

Add all and Commit(3)を選択

  • committer name
  • committer e-mail
  • comment

を入力してCommitを選択

abapGitでCommitされた事を確認 

abapGitServerから該当リポジトリのcommitsを選択

先程、commitしたfirstCommitが反映されている事を確認できる。

abapGitServerで変更差分の表示

先程作成したレポートを更新してcommit & push

abapGitServerのWebフロントエンドからCommitsを選択 

下記のようにcommit履歴が表示される。

descriptionの所を選択

commit間の変更箇所が表示される


総評

abapGitのpush先として社外のホスティングサービスを利用するのが難しい & 社内に何らかのgitサーバを立てるのもちょっと……という場合に。 abapGitServerはさっくり使えるリポジトリとして有効かと思われます。

ただしWebフロントエンドにアクセスする環境が外部(Cloudflare)に出れないような所だと利用できなのは抑えておきたいポイントです。

カテゴリー
タグ

この記事を書いたメンバー

SAPシステムや基幹システムのクラウド移行・構築・保守、
DXに関して
お気軽にご相談ください

03-6260-6240 (受付時間 平日9:30〜18:00)