【Maven】Azure DevOpsのPipelinesを使ってみた

★★★ Live配信告知 ★★★

Azureでクラウドネイティブな開発をするための方法について、世界一わかりみ深く説明致します!!複数回シリーズでお届けしている第9回目は、「次世代サーバーレスアーキテクチャDurable Functions 〜理論編〜」と題しまして、Durable Functionsの内部的な動作について説明します!!
【2021/12/23(木) 12:00〜13:00】

こんにちは。サイオステクノロジーの川田です。

今回はAzure DevOpsのPipelinesを使って、Javaのサンプルプログラムをビルドやデプロイ、テストを自動で行ってみたいと思います。
なにかのご参考になれば嬉しいです^^

Azure Pipelinesについて

Azure Pipelines使用することにより、ビルド、デプロイ、テストを自動で行ってくれます。
これまで手動で実施をしていたことを自動で行ってくれるのはとても助かりますね。

今回使用するツールや環境はこちらです。

  • Java – Maven –
  • GitHub Enterprise Server
  • Azure Virtual Machines

ディレクトリ構成

今回の使用言語はJavaのMavenを使います。
ディレクトリ構成はこちらになります。

Mavenについての詳しい内容については☞「Mavenキホンのキ」をご覧ください!

テスト用として簡単にプログラムを作成しました。

  • HelloWorld.java

  • HelloWorldTest.java

事前準備

テストまで成功したリソースを用意した仮想マシンにコピーをしたいと思います。
今回用に「learning-java」というプロジェクトを作成しました。

New service connection

左下の「Project setting」をクリックします。
クリックすると左側に「Service connections」をクリックします。

このような画面になるかと思います。

 

「Create service connection」をクリックします。
接続したいサービスを選択してください。
今回は検索ボックスに「SSH」を入力し、「Next」をクリックします。

接続したい情報を入力し「Save」をクリックします。
※今回はAzureで作成した仮想マシン情報を入力する想定です。

① パブリックIPを入力
② Private Keyを設定した場合はファイルを選択
③ 設定したUsernameを入力
④ 設定したPasswordを入力
⑤ この接続情報の名前を入力 例:learning-java

 

先ほど入力した情報が保存されました。

以上で事前準備は完了です。
次は「Pipelines」を触っていきます。

Pipeline作成

ではPipelineを作成していきます。
左側にある「Pipeline」→ 中央にある「Create Pipeline」をクリックします。

クリックすると以下の画面が表示されます。
今回は「GitHub Enterprise Server」を選択します。

 

「Connect to GitHub Enterprise Server」をクリックすると
情報を入力する画面になるのでURLとアクセストークンを入力してください。

アクセストークンについては☞「個人アクセストークンを使用する」をご覧ください。

YAMLファイル作成

用意してあるリポジトリーをクリックすると、このような画面になります。
YAMLファイルを作成していきたいと思います!

Starter pipeline : 新しくYAMLファイルを作成。
Existing Azure Pipelines YAML file : 既にYAMLファイルが配置されている。※ブランチ選択可能

今回は新しく作成するため、「Starter pipeline」をクリックします。

初期のファイル内容は以下の通りとなっています。
「Save and run」をクリックすると、 azure-pipelines.ymlファイルがgitにプッシュされます。

Pipelineを実行してみよう

試しにクリックしてみましょう!
下のラジオボタンはmasterブランチにコミットするか、新しくブランチを作成するかということになります。

ではmasterブランチにコミットしてみよう!ということでこのまま「Save and run」クリックします。

実行されると以下のような画面が表示されます。

成功するとJobのステータスがSuccessになります。
Jobをクリックすると詳細が表示されます!
一部ですが「Hello, world!」が出力されていることがわかります。

azure-pipelines.ymlもプッシュされています。

errorになる場合
私の場合は以下のエラーが出ました。

無料のアカウントは申請をしないと利用ができないようです。
というわけで記載があるURLに情報を入力して申請を出しました。

2 、 3 営業日かかるようなので、注意が必要です!私は2営業日で完了メールがきました。

ブランチ作成

先ほどのラジオボタンで「Create a new branch for this commit」をクリックしてみます。

masterはそのままで「azure-pipelines」というブランチが作成され、YAMLファイルが追加されました!

どうなるのか気になったのでやってみました^^
ではYAMLファイルを修正していきます。

Mavenを使ってみよう

それではYAMLファイルを修正していきたいと思います。
editをクリックすると修正ができます。

カーソルを20行目にすることを忘れないでください。変な行に挿入されてしまいます><
右側にある検索ボックスに「Maven」と入力します。

2つ出てくると思いますが、認証の設定が必要な場合は「Maven Authenticate」をクリックします。
詳しくは☞「Maven 認証」をご覧ください。

今回は認証の設定が必要ないため、上の「Maven」をクリックします。
色々と設定が可能ですが、今回はデフォルトのまま「Add」をクリックします。

下に追加されました!
それでは右上の「Save」をクリックしましょう!

※コミットするとpipelineが自動的に実行されます!

Jobを見ると先ほどにはなかったMavenが実行さていることがわかります。

ファイルをコピー

それでは仮想マシンにJavaのリソースをコピーしていきたいと思います。
Editをクリックして、YAMLファイルを修正します。
今回はコピーするため、「Copy files over SSH」をクリックします。

Copy files over SSH : SSH経由でファイルをコピー
Install SSH key : SSH キーをインストール
SSH : マシンに接続し、コマンドやスクリプトを実行

SSH service connectionには事前準備で保存したデータを選択します。
Target folderはコピー先になります。

「Add」をクリックすると、追記されていることがわかります。
これで準備OKです!

Pipelineを実行

「Save」をクリックすると、実行します。
※完了まで少し時間がかかります。

コピーされているか確認してみます。

無事コピーされていました(*‘ω‘ *)
以上がコピーする方法でした。

おまけ

テストを実行する際に「Dockerを起動しないといけない」や「/etc/hostsに追記したい」などあると思います。
その場合どうしたらいいのかということで。

「Command line」を使いました。

例えばスクリプトの中に、ディレクトリを移動してDocker起動の処理を記載すれば実行されます。

公式ページ☞「コマンドラインタスク

まとめ

いかがでしたでしょうか。
今回初めてAzure DevOpsのPipelinesを使ってみました。

gitにプッシュしたら、テストまで自動で行ってくれるなんて!非常にありがたいですね!





ご覧いただきありがとうございます。
ブログの最新情報はSNSでも発信しております。
ぜひTwitterのフォロー&Facebookページにいいねをお願い致します!



>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!


ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

1人がこの投稿は役に立ったと言っています。

Be the first to comment

Leave a Reply

Your email address will not be published.


*