0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GitHubをNeoLoad CollaborationのGITリポジトリに使う

0
Posted at

この記事でやること

NeoLoadで負荷テストをチーム運用し始めると、ソース管理の課題がでてきます。

  • 誰が最新のNeoLoadプロジェクトを持っているのかわからない
  • 複数人が同じVirtual Userを編集して、あとで差分が衝突する
  • リリース判定に使った性能テスト定義を、あとから追跡できるようにしたい
  • NeoLoadプロジェクトもGitHub上でアクセス制御・履歴管理したい

この記事では、GitHubリポジトリをNeoLoad CollaborationのGITサーバーとして使う設定方法を紹介します。

ポイントは、単に .nlp ファイルをGitHubへ置く話ではないことです。NeoLoad GUIのCollaboration機能からGitHubへ接続し、UpdatePublish を使ってチームで負荷テストプロジェクトを共有します。


Collaboration機能について

方法 概要 チーム運用での注意点
手動Git管理 .nlp や関連ファイルを通常のGit操作で管理する NeoLoad GUIとの同期は手動。誰かが古い状態のまま上書きすると整合性が崩れやすい
NeoLoad Collaboration NeoLoad GUIの Update / Publish で共有リポジトリと同期する NeoLoadが関知した形で変更を共有できる。Sanity Checkやコンフリクト検出の導線も使える

NeoLoad Collaborationでは、Git操作を開発者が直接行うのではなく、NeoLoad GUIが共有サーバーへの更新・公開を担当します。

つまりGitHubは「普通のソースコード置き場」というより、NeoLoad Collaboration Serverのバックエンドとして利用します。


前提:NeoLoad Collaborationの仕組み

NeoLoadのCollaboration機能では、チームメンバーが同じテストプロジェクトを共有しながら編集できます。

Collaborative projectを作るには次のいずれかが必要とされています。

  • Neotys Team Server(NTS)への接続
  • サードパーティのSVNまたはGITサーバーへの接続(←今回はこちら

GitHubはGITサーバーとして利用できるため、NeoLoadから GIT/HTTPS または GIT/SSH で接続できます。

共有対象には、Virtual User、Shared Container、Variable、Population、Scenario、Server、Monitor、Project preference、Load Generator zone、テスト結果などが含まれます。


事前準備

作業前に以下を用意します。

必要なもの 用途
NeoLoad プロジェクト設計とCollaboration接続
GitHubリポジトリ NeoLoadプロジェクトの共有先
GitHub Personal Access Token NeoLoadからGitHubへ接続する認証情報

GitHub側は、まず空のPrivate Repositoryとして作成しておくのがおすすめです。

neoload-performance-tests のような専用リポジトリを作るほうが、アクセス権やブランチ保護を分けやすくなります。


GitHubの認証方式を選ぶ

NeoLoadからGitHubへ接続する場合、主に次の2パターンがあります。

方式 NeoLoad側のProtocol 向いているケース
HTTPS + Personal Access Token GIT/HTTPS セットアップを簡単に始めたい
SSH + 秘密鍵 GIT/SSH 組織でSSH鍵運用が標準化されている

GitHubでは通常のアカウントパスワードによるGit操作は使わず、Personal Access TokenまたはSSHキーを使います。

Personal Access Tokenに必要な権限

Fine-grained tokenを使う場合は、対象リポジトリに対して次の権限を付与します。

権限 種別 用途
Contents Read and write NeoLoadプロジェクトの取得と公開
Metadata Read リポジトリ情報の取得

Classic tokenを使う場合は repo スコープで動作します。ただし、Classic tokenは権限範囲が広くなりやすいため、組織リポジトリではFine-grained tokenを優先して検討するのがよいです。


ここからが本題のNeoloadでの各種設定の紹介になります。

NeoLoadからGitHubへ接続する

NeoLoad GUIでedit> preferenceを選択しCollaboration設定を開き、GitHubリポジトリへの接続情報を入力します。

GIT/HTTPSの場合

項目 入力例
Protocol GIT/HTTPS
Host github.com
Port 443
Path your-org/neoload-performance-tests.git
Full name コミットする担当者名
Email コミットに使うメールアドレス
Login GitHubユーザー名
Password GitHub Personal Access Token

GitHubのリポジトリURLが次の場合:

https://github.com/your-org/neoload-performance-tests.git

NeoLoad側では、Hostを github.com、Pathを your-org/neoload-performance-tests.git と考えると整理しやすいです。

環境やNeoLoadの入力欄によって先頭の / が必要な場合は、Test ボタンで接続確認します。

image.png

GIT/SSHの場合

項目 入力例
Protocol GIT/SSH
Host github.com
Port 22
Path your-org/neoload-performance-tests.git
Full name コミットする担当者名
Email コミットに使うメールアドレス
Login git
Private key GitHubに登録した公開鍵に対応する秘密鍵
Passphrase 秘密鍵のパスフレーズ

GitHubのSSH URLは通常 git@github.com:your-org/neoload-performance-tests.git です。

NeoLoadの設定画面では、これをHost、Path、Login、Private keyに分解して入力するイメージになります。


GitHubのブランチ運用

Neoloadの仕様で既存のBranchは利用できません。Neoload Project作成時にBranchを作成する必要があります。
(Neoload側のWizardで設定)

処理フローは以下のようになります。

Step1

GitHub上でデフォルトブランチmainを作成

Step2

Neoloadの新規プロジェクト作成にてRepositoryを指定し疎通確認してFinishボタンを押下
image.png

image.png

Step3 (初回のみ)

初回のみ空のmainブランチにNeoload ProjectをPushするとMerge処理に一手間必要になります。

その際にはローカルCLIから

git clone https://github.com/<organization>/<repository>.git
cd <repository>
git checkout main
git merge origin/<branch> --allow-unrelated-histories -m "Merge neoload into main"
git push origin main

などと処理する事でmainへMergeする事も可能です。

Step4(2回目以降)

2回目以降はNeoloadのCollaboration機能でPublishする事で対応可能です。

image.png


Neoload GUIでのCollaboration設定(ProjectLevel)

初期設定が完了しRepositoryのCloneが完了すれば、Collaboration機能が利用できるようになります。
image.png
image.png
image.png

image.png



まとめ

GitHubは、NeoLoad CollaborationのサードパーティGITサーバーとして利用できます。

重要なポイントは次の通りです。

  • 手動で .nlp をGit管理する話と、NeoLoad CollaborationからGitHubを使う話は別物
  • NeoLoadからGitHubへは GIT/HTTPS または GIT/SSH で接続できる
  • HTTPSではGitHub Personal Access Tokenを使う
  • Publish前にはUpdateし、Project Sanity Checkで整合性を確認する
  • 同じVirtual UserやShared Containerを複数人で同時編集しない
  • リリース判定時はGitHubタグとNeoLoadの実行結果を対応付ける

Collaboration機能が担うのは、NeoLoad GUIと共有リポジトリの同期です。

その上で、担当分け、Publishタイミング、タグ運用をチームで決めておくと、負荷テスト定義を「個人のローカルファイル」ではなく「チームの資産」として扱いやすくなります。


📚 参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?