Git初心者でも大丈夫！EclipseでLiberty環境をGitLabに登録してみよう！

クラウドネイティブ時代に対応した軽量・高速なランタイムであるWebSphere Libertyは、サーバー構成やランタイムの指定をすべてコードとして設定ファイルに記述しています。この設定ファイルをバージョンコントロールシステムに登録することで、アプリケーションだけでなくサーバー情報も含めて、誰がいつ、なぜ変更したのかを厳密に管理することができ、ロールバック作業も簡単に実施できます。

本投稿では、バージョンコントロールシステムおよびCI/CDツールとしての機能を持つDevOps/DevSecOpsプラットフォーム、「GitLab」とLibertyを連携させた運用の第一歩として、EclipseのEgit※でLiberty環境をGitLabに登録する手順をご紹介します。
Liberty環境のみならず、Eclipseプロジェクト全般をGitLabに登録する手順がわからない方も、ぜひご参考にしてくださいませ。

※EGitとは？
EclipseでGitを使用するためのプラグインです。EGitを導入することでEclipse上でのGit操作が可能になります
参考：https://www.sejuku.net/blog/72425
<br>
## 事前準備

GitLabのユーザー登録、Eclipse上でEGitプラグインの設定が必要になります。
各設定方法につきましては以下の記事をご参照ください。

GitLabユーザー登録：https://qiita.com/tktwk77/items/6ad0a421b10062d46dfe

EGitプラグインの設定：https://qiita.com/ry1185/items/c65d2608688461bc3b22

本投稿ではクラウド版GitLabを利用しています。
<br>
# Step1：GitLab上にリモートリポジトリーを作成

Liberty環境のプロジェクトを登録するためのリモートリポジトリーを作成します。

本投稿において、リモートリポジトリーとは「チームで共有・同期できるサーバー上にあるリポジトリー」を意味しており、つまりはGitLabに登録しているリポジトリーのことです。

GitLabの管理画面にアクセスし、「新しいプロジェクト」→「空のプロジェクト」を選択します。次に、プロジェクト名などの必要事項を入力し、最下部の「プロジェクトを作成」をクリックします。
![dbe482a9-bcef-4535-9f6c-05d715edb730.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3930287/827583aa-69a9-40da-92a9-285f9a36f710.png)
<br>
これで、プロジェクト（＝リモートリポジトリー）の作成が完了しました。ここに、Liberty環境を登録していきます。
後の作業で必要になるため、HTTPSリンクをコピー・保存しておいてください。
![ppppp.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3930287/71195474-f3ce-442b-b2f5-07be4885b14f.png)
<br>

# Step2：Liberty環境をローカルリポジトリーに登録
リモートリポジトリーへの登録のために、まずはLiberty環境をローカルリポジトリーに登録する必要があります。
本投稿において、ローカルリポジトリーとは「自分のPC上に存在するリポジトリー」を意味しています。
<br>
EclipseでLiberty環境のプロジェクトを開き、メニューバーで「Window → Show view → Other... → Git → Git Repositories」の順で選択し、Git Repositoriesを表示します。「Create a new local Git repository」を選択、ローカルリポジトリーの保存先を指定し、「Create」をクリックすることで、空のローカルリポジトリーが作成されます。
![aeb82184-b7a8-4c69-b414-8c41bbec62c1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3930287/ac0180e0-713e-46f0-a695-3a5fbcd1a548.png)<br>
Package ExplorerでLiberty環境のプロジェクトを左クリックし、コンテキストメニューで「Team → Share Project」を選択、登録先のローカルリポジトリーの情報を入力します。
![883b9bea-0463-4e66-a818-ce481116d989.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3930287/bbf1ea2e-c2bb-4deb-a432-9a439190b62a.png)<br>
同様に、Liberty環境のプロジェクトを左クリックし、コンテキストメニューで「Team → Commit」を選択します。

すると、以下のように「Unstaged Changes」にローカルリポジトリーに登録されていないファイルが検出されます。
この場合、Liberty環境を保存したプロジェクトに含まれるファイル全てが対象になります。

これらを「Staged Changes」に移動させ、任意のMessageを追加して「Commit」をクリックすることで、Step2は完了になります。
![9895804b-83de-444f-94e5-3fd6adc38895.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3930287/0282c126-1cfa-4a95-ac7e-3297299a38e0.png)
<br>

# Step3：リモートリポジトリーの内容をローカルで取得

次に、Step1で作成したリモートリポジトリーの情報を取得していきます。

Git Repositoriesでローカルリポジトリーを左クリックし、「Remote→Fetch」を選択します。

表示されたウィンドウのURIに、Step1でコピーしていた、リモートリポジトリーの情報をHTTPSリンクをペーストします。
![8ec0071c-f37d-4d13-a13b-0c7140c01016.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3930287/e80dbc82-39a9-43c4-9296-c49b489dd613.png)

All Branchesをクリックし、取得するbranchを選択後、Finishをクリックすると、リモートリポジトリーの内容が取得され、Git Repositoriesで表示されるようになります。
<br>
# Step4：リモートリポジトリーにプロジェクトを登録
Libertyプロジェクトをリモートリポジトリーに登録するため、まずはStep3で取得したリモートリポジトリーの情報をローカルリポジトリーへとマージしていく必要があります。

Step2でLibertyプロジェクトを登録したローカルリポジトリーを右クリックし、コンテキストメニューで「Merge」を選択します。Remote trackingをクリックすると、Step3で取得したリモートリポジトリーのbranchが表示されるので、そちらを選択しMergeをクリックします。
![49a4f054-cada-459a-99a8-328382f716de.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3930287/906a8093-5d21-4188-93fc-8ad70ce2dd7d.png)
<br>
再度、Step1でコピーしていたリモートリポジトリーの情報をHTTPSリンクを貼り、Pushをクリックすることで、Libertyプロジェクトの登録は完了します。
![c2b49684-f1d2-44b5-9d82-1d863cce1aa5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3930287/7ae641ad-763d-4e2e-948c-1512d34a9d24.png)
<br>
GitLabでリモートリポジトリーを確認すると、Pushが成功し、プロジェクトを登録できたことがわかります。
![43213f85-383b-4210-86fe-ddd11b805e01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3930287/4c5efdbe-46ec-4741-8484-8683dd4345ca.png)
<br>
<br>

以上で、GitLabへのLiberty環境の登録が完了しました。

さらに、GitLabでは「GitLab CI/CD」というパイプライン機能を利用することで、登録したLiberty環境のビルド・デプロイといった作業も簡単に自動化することができます。

以下に宣伝しているWebSphere Communityサイトには、GitLabに関する文書や過去のセミナー資料が掲載されていますので、ぜひご覧ください。

本投稿をご覧いただき、ありがとうございました！


# さらに詳しい情報をお探しの方へ

IBMの最新情報、イベント情報、さらに役立つ資料は、以下のIBM Communityでも発信・格納されています。 

最新のトレンドや有益な情報をチェックするために、ぜひご覧ください！

- **WebSphere**: [IBM Community - WebSphere](https://community.ibm.com/community/user/wasdevops/communities/community-home?CommunityKey=d6c93aa2-6e10-48da-96dc-3831da8ee185) 

  WebSphere関連の最新情報やディスカッション、イベント情報、技術資料を公開中！

 

- **ELM (Engineering Lifecycle Management)**: [IBM Community - ELM](https://community.ibm.com/community/user/sustainability/communities/community-home?CommunityKey=f8bc69e0-9d61-4688-939b-018f5f74519e) 

  ELMに関する最新のイベント情報、ナレッジ共有、便利なドキュメントをチェック！

 

- **Integration**: [IBM Community - Integration](https://community.ibm.com/community/user/integration/communities/globalgrouphome?CommunityKey=fe1b09d3-7042-4a5f-bce0-6bcc19aa0ed9) 

  Integrationに関する最新のイベント情報、ナレッジ共有、便利なドキュメントをチェック！