AzureMysqlDeployment@2 - Azure Database for MySQL展開v2タスク

このタスクはスクリプトをAzure Database for MySQLフレキシブルサーバーに展開します。 SQLスクリプトファイルを使ってデプロイすることも、スクリプトをインラインで書くこともできます。

構文

# Azure Database for MySQL deployment v2
# Run your scripts and make changes to your Azure Database for MySQL Flexible Server.
- task: AzureMysqlDeployment@2
  inputs:
    azureSubscription: # string. Alias: ConnectedServiceName. Required. Azure Subscription. 
  # DB Details
    ServerName: # string. Required. Host Name. 
    #DatabaseName: # string. Database Name. 
    SqlUsername: # string. Required. Server Admin Login. 
    SqlPassword: # string. Required. Password. 
  # Deployment Package
    #TaskNameSelector: 'SqlTaskFile' # 'SqlTaskFile' | 'InlineSqlTask'. Type. Default: SqlTaskFile.
    SqlFile: # string. Required when TaskNameSelector = SqlTaskFile. MySQL Script. 
    #SqlInline: # string. Required when TaskNameSelector = InlineSqlTask. Inline MySQL Script. 
    #SqlAdditionalArguments: # string. Additional MySQL Arguments. 
  # Firewall
    IpDetectionMethod: 'AutoDetect' # 'AutoDetect' | 'IPAddressRange'. Required. Specify Firewall Rules Using. Default: AutoDetect.
    #StartIpAddress: # string. Required when IpDetectionMethod = IPAddressRange. Start IP Address. 
    #EndIpAddress: # string. Required when IpDetectionMethod = IPAddressRange. End IP Address. 
    #DeleteFirewallRule: true # boolean. Delete Rule After Task Ends. Default: true.

入力

Azure サブスクリプションazureSubscription -
入力エイリアス: ConnectedServiceNamestring。 必須。

これはAzureアカウントに接続するために必要です。

新しいサービス接続を構成するには、一覧から Azure サブスクリプションを選択し、[Authorize] をクリックします。

サブスクリプションが一覧にない場合、または既存のサービス プリンシパルを使用する場合は、Add または Manage ボタンを使用して Azure サービス接続を設定できます。


ServerName - ホスト名
string。 必須。

あなたのAzure Database for MySQLサーバーの名前です。

例: fabrikam.mysql.database.azure.com

サーバー名は、Azure Database for MySQLサーバーリソースの「Overview」ブレードにある Azure ポータル内で提供されています。

MySQL Workbenchで接続すると、ParametersHostnameに使われる値と同じです。


DatabaseName - データベース名
string

Optional. データベースの名前。 存在しないデータベース名がスクリプトで作成されます。

指定がない場合は、必要な場合は提供されたSQLファイルまたはインラインSQLでデータベースを参照するようにしてください。

注:MySQLデータベース名は大文字を区別しています。


SqlUsername - サーバー管理者ログイン
string。 必須。

Azure Database for MySQLサーバーはネイティブのMySQL認証をサポートしています。 サーバーの管理者ログインで接続・認証できます。 例: bbo1@fabrikam

MySQL Workbenchで接続すると、ParametersUsernameに使われる値と同じです。


SqlPassword - パスワード
string。 必須。

The administrator password for Azure Database for MySQL. パスワードを思い出せない場合は、Azure portalからパスワードを変更できます。

この文字列はパイプライン内の変数で定義できます。 例: $(password)

また、変数型を secret としてマークして安全にすることもできます。


TaskNameSelector - 型の
string。 許可される値: SqlTaskFile (MySQL スクリプトファイル)、 InlineSqlTask (インラインMySQLスクリプト)。 既定値: SqlTaskFile

Optional. スクリプトファイルとインラインスクリプトのどちらかを選択します。

  • SqlTaskFile (デフォルト)、 SqlFile の引数と共に使う場合
  • InlineSqlTask SqlInlineの議論と共に使用するために。

注:これらの値は大文字に区別されています。


SqlFile - MySQLスクリプト
stringTaskNameSelector = SqlTaskFileする場合に必要です。

オートメーションエージェント上のスクリプトファイルの全パス、またはオートメーションエージェントがアクセス可能なUNCパスのパスです。 たとえば、 \\BudgetIT\DeployBuilds\script.sqlと指定します。

$(agent.releaseDirectory)のような事前定義されたシステム変数やSQL文を含むファイルもここで使用できます。

注意:MySQLクライアントはUnixスタイルのパスを好みます。バージョン1.183.0以降は、タスクはWindowsスタイルのパスをUnixスタイルのパスに変換します。 例: c:\foo\bar\myscript.sql から c:/foo/bar/myscript.sqlまで。

Linuxプラットフォームでタスクを使用する場合、パスは変更されません。 パスでは特殊キャラクターから逃げる必要はありません。


SqlInline - インラインMySQLスクリプト
stringTaskNameSelector = InlineSqlTaskする場合に必要です。

上記で選択したデータベースでMySQLスクリプトを実行します。


SqlAdditionalArguments - 追加のMySQL引数
string

Optional. MySQLクライアントがサポートする追加オプション。 これらのオプションは、Azure Database for MySQLで指定されたファイルを実行する際に適用されます。

例:デフォルトのタブ分離出力形式、HTML、あるいはXML形式に変更できます。 その他の例を次に示します。

  • --comments クライアントからサーバーに送られたコメントを除外するために。
  • --quick 結果キャッシュを防ぐためです。
  • --xml 結果をXMLとして出力します。

利用可能なすべてのオプションはMySQLクライアントのドキュメントに記載されています。


IpDetectionMethod - を使用してファイアウォール規則を指定する
string。 必須。 使用できる値: AutoDetectIPAddressRange。 既定値: AutoDetect

タスクを成功裏に実行するためには、管理者が自動化エージェントのIPアドレスからAzure Database for MySQL Serverにアクセスできるようにする必要があります。

自動検出を選択することで、自動化エージェントの可能なIPアドレスの範囲に対してファイアウォール例外を自動的に追加したり、範囲を明示的に指定したりできます。

受け入れ可能な値:

  • AutoDetect 自動化エージェントのパブリックIPアドレスを自動検出するために。
  • IPAddressRange 設定するIPアドレス範囲を明示的に指定するために。 StartIpAddressEndIpAddressパラメータを使ってIPアドレスの範囲を設定します。

:これらの値は大文字を区別しています。


StartIpAddress - 開始 IP アドレス
stringIpDetectionMethod = IPAddressRangeする場合に必要です。

オートメーションエージェントマシンプールの開始IPアドレス。 たとえば、 196.21.30.50と指定します。


EndIpAddress - エンド IP アドレスの
stringIpDetectionMethod = IPAddressRangeする場合に必要です。

自動化エージェントマシンプールの終端IPアドレス。 たとえば、 196.21.30.65と指定します。


DeleteFirewallRule - タスクの終了後にルールを削除
boolean。 既定値: true

Optional. 選択されると、自動化エージェントのIPアドレスに対する追加の例外は対応するAzure Database for MySQLで削除されます。


タスク コントロールのオプション

すべてのタスクには、タスク入力に加えて制御オプションがあります。 詳細については、「コントロール オプションと一般的なタスク プロパティを参照してください。

出力変数

なし。

注釈

このタスクはスクリプトをAzure Database for MySQLフレキシブルサーバーに展開します。 SQLスクリプトファイルを使ってデプロイすることも、スクリプトをインラインで書くこともできます。

Azure Database for MySQL Single Serverは退職の道にいます。 今後推奨される展開モデルはフレキシブルサーバーです。 AzureMysqlDeployment@2はFlexible Serverリソースプロバイダー(Microsoft.DBforMySQL/flexibleServers)とその管理APIを使用します。

Prerequisites

作業が適切に機能するためには、以下の前提条件を設定する必要があります。

Azure サブスクリプション

Azure Database for MySQLにデプロイするには、プロジェクト設定のService Connectionsタブを使ってAzure DevOpsにAzureサブスクリプションをリンクする必要があります。 Azure Resource Managerエンドポイントタイプを使いましょう。 詳細については、「 Azure Resource Manager サービス接続を使用して Azure に接続する」を参照してください。

Azure Database for MySQL 柔軟性のあるサーバー

このタスクでは、AzureポータルにすでにAzure Database for MySQL Flexible Serverリソースが存在することを前提としています。 このタスクは新しいデータベースを作成し、MySQLコマンドを実行することはできますが、サーバー自体は作成しません。

エージェント上のMySQLクライアント

  • Windows Agent: このscriptを使ってMySQLクライアントをインストールしてください。
  • Linuxエージェント:apt-get install mysql-client走れ。

Requirements

要件 Description
パイプラインの種類 YAML、クラシック ビルド、クラシック リリース
実行 エージェント
Demands None
機能 このタスクは、ジョブ内の後続のタスクに対する要求を満たしていません。
コマンドの制限 Any
設定可能な変数 Any
エージェントのバージョン 1.100.0以上
タスク カテゴリ 展開