FTP アップロードタスク

Azure Pipelines | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 | TFS 2017

このタスクは、ファイル転送プロトコル (FTP) を使用してリモートコンピューターにファイルをアップロードする場合や、FTPS を使用して安全にファイルをアップロードする場合に使用します。

注意

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

確認要求

なし

YAML スニペット

# FTP upload
# Upload files using FTP
- task: FtpUpload@2
  inputs:
    #credentialsOption: 'serviceEndpoint' # Options: serviceEndpoint, inputs
    #serverEndpoint: # Required when credentialsOption == ServiceEndpoint
    #serverUrl: # Required when credentialsOption == Inputs
    #username: # Required when credentialsOption == Inputs
    #password: # Required when credentialsOption == Inputs
    rootDirectory: 
    #filePatterns: '**' 
    #remoteDirectory: '/upload/$(Build.BuildId)/' 
    #clean: false 
    #cleanContents: false # Required when clean == False
    #preservePaths: false 
    #trustSSL: false 

引数

引数 説明
credsType
認証方法
必要FTP サービス接続を使用するか、接続の資格情報を入力してください
既定値: serviceEndpoint
引数の別名: credentialsOption
serverEndpoint
FTP サービス接続
必要FTP サーバーのサービス接続を選択します。 作成するには、[管理] リンクをクリックして新しい汎用サービス接続を作成し、サーバーの URL、例、ftp://server.example.com、必要な資格情報の FTP サーバーの URL を入力します。
対象サーバーで FTPS がサポートされている場合は、指定したプロトコル (ftp:// または ftps://) に関係なく、セキュリティで保護された接続が常に行われます。 セキュリティで保護された接続のみを許可するには、 ftps:// プロトコルを使用します。 たとえば、 ftps://server.example.com のようになります。 Ftps:// が指定されている場合、FTPS をサポートしていないサーバーへの接続は失敗します。
serverUrl
サーバー URL
(必須)
username
ユーザー名
(必須)
password
パスワード
(必須)
rootFolder
ルート フォルダー
必要ファイルのアップロード元のソースフォルダー
引数の別名: rootDirectory
filePatterns
ファイルのパターン
必要アップロードするファイルのパスまたはパターン。 では、複数行の minimatch パターンをサポートしています。 詳細情報
既定値: * *
remotePath
リモートディレクトリ
必要リモート FTP サーバー上のこのディレクトリにファイルをアップロードします。
既定値:/upload/$ (BuildId)/
引数の別名: remoteDirectory
enableUtf8
UTF8 サポートを有効にする
OptionalFTP 接続に対して UTF-8 のサポートを有効にします (' を使用します ')。
既定値: false
clean
リモートディレクトリの削除
必要アップロードする前に、その内容を含むリモートディレクトリを削除します。
既定値: false
cleanContents
リモートディレクトリコンテンツのクリア
必要アップロードする前に、リモートディレクトリのすべての内容を再帰的に削除します。 既存のディレクトリは削除されません。 パフォーマンスを向上させるには、代わりにを使用することを検討してください Delete remote directory
既定値: false
preservePaths
Preserve file paths (ファイルのパスを保持する)
必要この値を選択すると、ファイルがアップロードされるリモートディレクトリの下に、相対ローカルディレクトリ構造が再作成されます。 それ以外の場合、ファイルは追加のサブディレクトリを作成せずに、リモートディレクトリに直接アップロードされます。
たとえば、ソースフォルダーが /home/user/source/ で、次のファイルが含まれているとします。: foo/bar/foobar.txt、リモートディレクトリは次のようになります。/ uploads/
このファイルを選択すると、 /uploads/foo/bar/foobar.txt にアップロードされます。 それ以外の場合: /uploads/foobar.txt
既定値: false
trustSSL
[サーバー証明書を信頼する]
必要このオプションを選択すると、FTP サーバーの SSL 証明書が自己署名されているか、証明機関 (CA) によって検証できない場合でも、ftps://によって信頼されます。
既定値: false
customCmds
FTP コマンド
Optional接続時にリモート FTP サーバーに送信されるオプションの FTP コマンド

ソースを開く

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

よく寄せられる質問

ファイル照合パターンの詳細については、どこで学習できますか。

ファイル一致パターンのリファレンス

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 の最新バージョンにアップグレードした場合は、一部の機能をオンプレミスで使用できます。