コマンドラインスクリプトの実行方法

このチュートリアルでは、TeamCity を使用してビルドパイプラインに欠かせない基礎であるコマンドラインスクリプトを実行する方法について説明します。

デモの目的で GitHub リポジトリを作成しました。

github.com/marcobehlerjetbrains/buildpipelines. 自由にフォークして手順に従ってください。

このリポジトリには Authorization-ServiceCalculator-Service の 2 つのマイクロサービスがあります。 URL をコピーして TeamCity サービスに移動し、リポジトリ URL からプロジェクトを新規作成できます。 これは公開リポジトリであるため、パスワードやアクセストークンの入力は必要ありません。

tutorials-img

次のステップでは TeamCity がこのリポジトリに接続し、そのリポジトリからプロジェクトを作成します。 また、デフォルトのブランチであるメインブランチが表示されます。このブランチは変更の有無を確認するために 60 秒ごとにプルされ、ビルドをトリガーします。

ワイルドカードを使用して他の監視対象ブランチを指定することも可能です。

tutorials-img

TeamCity でビルド構成をセットアップする

TeamCity のビルド構成はジョブです。 プロジェクトをセットアップすると、TeamCity がリポジトリ内のファイルをスキャンし、ビルドステップを自動検出します。

tutorials-img

このチュートリアルでは独自のコマンドラインスクリプトを実行するため、自動検出されたビルドステップを使用しません。 ただし、TeamCity がプロジェクトのソース VCS リポジトリをスキャンし、Node.js、Kotlin、Python、Ant、NAnt、Gradle、Maven、MSBuild、Visual Studio ソリューションファイル、PowerShell、Xcode プロジェクトファイル、Rake、および IntelliJ IDEA プロジェクトに最適なビルドステップを自動検出できることは知っておきましょう。

ビルドステップを構成する

手動ビルドステップの構成を続けるには、このリンクをクリックします。

tutorials-img

コマンドラインスクリプトを実行するため、ドロップダウンメニューから Command Line(コマンドライン)を選択しましょう。

tutorials-img

次のステップではドロップダウンメニューから Run Custom Script(カスタムスクリプトの実行)オプションを選択し、適切なフィールドにビルドスクリプトを貼り付けましょう。 実行するのは mvn clean package コマンドです。 他の多くのツールと同様に、すべてのビルドエージェントにはこのパッケージがデフォルトでインストールされています。

mvn clean package は Java ソースをコンパイルし、いくつかのテストを実行して .jar ファイルを作成します。

デプロイステップでは AWS コマンドラインツールを実行し、その .jar ファイルをプライベート S3 バケットにコピーしています。 その後は Save(保存)を押せば完了です。

tutorials-img

Run(実行)ボタンを押す前に、AWS S3 バケットの資格情報であるアクセスキー ID とアクセスキーシークレットを指定する必要があります。 TeamCity でパラメーターを使用して指定するのがその 1 つの方法です。

パラメーターを追加する

パラメーターを追加するには、Parameters(パラメーター)| Add New Parameter(新規パラメーターの追加)をクリックします。 ここでは、ある環境変数を使用することにしましょう。 名前には AWS_ACCESS_KEY_ID を入力します。 新しいパラメーターの種類も選択する必要があります。この例では Environment variable (env.)(環境変数(env.))を選択し、実際のアクセスキー ID を貼り付けます。

ご注意ください: ここで使用しているアクセスキーはデモを目的としているため、まったく同じキーを再利用することはできません。

tutorials-img

また、パラメーターを編集して種類を Password(パスワード)に設定してみましょう。 これにより、TeamCity がパラメーター値を UI だけでなく、ログメッセージやあらゆる場所で非表示にします。

tutorials-img

アクセスキー ID がすでにマスクされているのが分かります。

tutorials-img

別の環境変数であるシークレットアクセスキーも同様に追加できます。 追加が完了したら、ビルドを実行できます。

ビルドを実行するには、Run(実行)ボタンをクリックします。すると、概要ページにリダイレクトされます。 TeamCity がビルドを実行する間に発生しているイベントを詳細に説明するビルドログが表示されます。

tutorials-img

ビルドの実行が完了すると、TeamCity がビルドのステータス、ビルドをトリガーした人、実行に要した時間、使用されたビルドエージェントなどのデータを表示します。

tutorials-img

コマンドラインスクリプトを使用しているため、有効な出力はビルドログだけです。 特定の TeamCity ランナー(Maven ランナーなど)を代わりに使用する場合は、テストレポート、カバレッジレポート、および並列テストなどのその他多くの機能も初期設定のままで使用できます。

ビルドログにアクセスする

ビルドログにアクセスするには、ビルドの結果出力ページの Build Log(ビルドログ)タブをクリックします。 TeamCity ではログを読み取りやすくなっています! ビルドログ全体をマシンにダウンロードして Notepad++ で開く代わりに(ダウンロードすること自体は可能です)、TeamCity ではビルドログを折りたたんで Ctrl+F で簡単に検索できます。

tutorials-img

今日のところは以上です! テストレポートやコードカバレッジレポートなどの TeamCity 固有の機能の使用方法については、他のチュートリアルをご覧ください。

詳細については、TeamCity のコマンドラインドキュメントをご覧ください。