シェルスクリプトタスク

Azure Pipelines | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 - TFS 2015

このタスクは、bash を使用してシェルスクリプトを実行する場合に使用します。

注意

Microsoft Team Foundation Server (TFS) 2018 以前のバージョンでは、ビルドとリリースの "パイプライン" は "定義"、"実行" は "ビルド"、"サービス接続" は "サービス エンドポイント"、"ステージ" は "環境"、"ジョブ" は "フェーズ" と呼ばれます。

確認要求

sh

YAML スニペット

- task: ShellScript@2
  inputs:
    scriptPath:
    #args: '' # Optional
    #disableAutoCwd: false # Optional
    #cwd: '' # Optional
    #failOnStandardError: false

引数

引数 説明
スクリプトのパス リポジトリのルートから実行するシェルスクリプトファイルへの相対パス。
引数 スクリプトに渡す引数です。
詳細設定
作業ディレクトリ スクリプトを実行する作業ディレクトリ。 空のままにすると、スクリプトが配置されているフォルダーになります。
標準エラーで失敗 StandardError ストリームにエラーが書き込まれた場合に、このタスクを失敗させるかどうかを選択します。
制御オプション

test.shリポジトリのルートでを作成します。 このファイルは、行の終わりが正しいように、Linux 環境 (実際の Linux コンピューターや Windows Subsystem for Linux など) から作成することをお勧めします。 また、コミットする前に忘れないで chmod +x test.sh ください。

#!/bin/bash
echo "Hello World"
echo "AGENT_WORKFOLDER is $AGENT_WORKFOLDER"
echo "AGENT_WORKFOLDER contents:"
ls -1 $AGENT_WORKFOLDER
echo "AGENT_BUILDDIRECTORY is $AGENT_BUILDDIRECTORY"
echo "AGENT_BUILDDIRECTORY contents:"
ls -1 $AGENT_BUILDDIRECTORY
echo "SYSTEM_HOSTTYPE is $SYSTEM_HOSTTYPE"
echo "Over and out."

ビルドパイプラインの [ビルド] タブ で、次のタスクを追加します。


ユーティリティ: シェルスクリプト

test.bat を実行します。

  • スクリプトのパス: test.sh

この例は、リリースパイプラインでも使用できます。

ソースを開く

このタスクは、 GitHub のオープンソースです。 フィードバックと投稿が歓迎されます。

よく寄せられる質問

Bash スクリプトについてはどこで学習できますか。

初心者/BashScripting

すばらしい Bash をもっと深く楽しみましょう。

変数を設定して、その後のスクリプトとタスクで読み取ることができるように操作方法しますか。

スクリプトでのビルド変数の定義の詳細については、「 スクリプトでのビルド変数の定義および変更」を参照してください。

スクリプトでのリリース変数の定義の詳細については、「 スクリプトでのリリース変数の定義および変更」を参照してください。

Q: アーティファクトを発行する際に問題が発生しています。 詳細ログを表示するにはどうすればよいですか。

パイプラインの詳細ログを有効にするには、次の手順を実行します。

  1. パイプラインを編集して 変数 を選択する
  2. 名前と値を持つ新しい変数を追加します。 System.Debug``true
  3. 保存

Q: どの変数を使用できますか。

A: $(Build.SourcesDirectory)$(Agent.BuildDirectory) は、パイプラインで使用できる変数のほんの一部です。 変数は、 またはスクリプトとして使用できます。

さまざまな種類の変数の詳細については、「変数、定義済みの変数、および従来のリリースとアイテムの変数定義」を参照してください。

エージェントは必要ですか?

ビルドまたはリリースを実行するには、エージェントが少なくとも 1 つ必要です。

問題が発生しています。 どのように対処すればよいですか?

ビルドとリリースのトラブルシューティングに関するページを参照してください。

既定のエージェント プールが選択できず、ビルドまたはリリースをキューに入れることができません。 これをどのように修正すればよいですか?

エージェント プール」を参照してください。

NuGet プッシュ タスクが次のエラーで失敗します: "Error: unable to get local issuer certificate" (エラー: ローカル発行者の証明書を取得できません)。 どうしたらいいですか。

これは、信頼されたルート証明書を追加することで修正できます。 ビルド エージェントに NODE_EXTRA_CA_CERTS=file 環境変数を追加するか、パイプラインに NODE.EXTRA.CA.CERTS=file タスク変数を追加することができます。 詳細については、環境変数に関するページを参照してください。

TFS をオンプレミスで使用していますが、これらの機能の一部が表示されません。 なぜでしょうか。

これらの機能の一部は Azure Pipelines でのみ使用でき、オンプレミスではまだ使用できません。 TFS の最新バージョンにアップグレードした場合は、一部の機能をオンプレミスで使用できます。