BeeX Technical BlogabapGitServerをさわってみた

そもそも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_0 PROT=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を選択

Name Description
AGSHelloWorld helloworld

上の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)に出れないような所だと利用できなのは抑えておきたいポイントです。

カテゴリ

タグ

BeeX Technical Blogについてのお問い合わせ

BeeX Technical Blogのエントリにご質問が御座いましたらお気軽にお問合せください。

お電話でのお問い合わせ

☎ 03-6260-6240

受付時間 平日9:30〜18:00

フォームでのお問い合わせ

お問い合わせフォーム