FTP Upload görevi

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

Bu görevi kullanarak dosyaları uzak bir makineye yüklemek için Dosya Aktarım Protokolü (FTP) veya FTPS ile güvenli bir şekilde kullanın.

Not

Microsoft Team Foundation Server (TFS) 2018 ve önceki sürümlerde derleme ve yayın işlem hatları tanımlar, çalıştırmalar derlemeler, hizmet bağlantıları hizmet noktaları,aşamalar ortamlar ve işler olarak adlandırılan aşamalar olarak adlandırılanlardır.

Talep

Hiçbiri

YAML kod parçacığı

# 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 

Bağımsız değişkenler

Bağımsız Değişken Description
credsType
Kimlik Doğrulama Yöntemi
(Gerekli) FTP hizmeti bağlantısını kullanma veya bağlantı kimlik bilgilerini girme
Varsayılan değer: serviceEndpoint
Bağımsız değişken diğer adları: credentialsOption
serverEndpoint
FTP Hizmeti Bağlantısı
(Gerekli) FTP sunucunuz için hizmet bağlantısını seçin. Bir tane oluşturmak için Yönet bağlantısına tıklayın ve yeni bir Genel hizmet bağlantısı oluşturun, sunucu URL'si için FTP sunucusu URL'sini girin, Örneğin, ftp://server.example.comve gerekli kimlik bilgilerini girin.
Hedef sunucu FTPS'i destekliyorsa, güvenli bağlantılar her zaman belirtilenprotokolden (ftp:// veya ftps://) bağımsız olarak yapılır. Yalnızca güvenli bağlantılara izin vermek için ftps:// kullanın. Örneğin, ftps://server.example.com. FTPS'i desteklemeen sunuculara bağlantılar, ftps:// başarısız olur.
serverUrl
Sunucu URL'si
(Gerekli)
username
Kullanıcı adı
(Gerekli)
password
Parola
(Gerekli)
rootFolder
Kök klasör
(Gerekli) Dosyaları karşıya yüklemek için kaynak klasör
Bağımsız değişken diğer adları: rootDirectory
filePatterns
Dosya desenleri
(Gerekli) Karşıya yüklenilen dosyaların dosya yolları veya desenleri. Birden çok minimatch deseni çizgilerini destekler. Daha Fazla Bilgi.
Varsayılan değer: **
remotePath
Uzak dizin
(Gerekli) Upload FTP sunucusunda bu dizine dosya ekler.
Varsayılan değer: /upload/$(Build.BuildId)/
Bağımsız değişken diğer adları: remoteDirectory
enableUtf8
UTF8 desteğini etkinleştirme
(İsteğe bağlı) FTP bağlantısı için UTF-8 desteğini ('OPTS UTF8 ON') sağlar
Varsayılan değer: false
clean
Uzak dizini silme
(Gerekli) Karşıya yüklemeden önce uzak dizini ve içeriğini silin
Varsayılan değer: false
cleanContents
Uzak dizin içeriğini temizleme
(Gerekli) Karşıya yüklemeden önce uzak dizinin tüm içeriğini tekrar tekrar silin. Mevcut dizin silinmez. Daha iyi performans için bunun yerine Delete remote directory kullanın
Varsayılan değer: false
preservePaths
Dosya yollarını koruma
(Gerekli) Seçilirse, göreli yerel dizin yapısı dosyaların karşıya yük olduğu uzak dizin altında yeniden oluşturulur. Aksi takdirde, dosyalar ek alt dizinler oluşturmadan doğrudan uzak dizine karşıya yükler.
Örneğin, kaynak klasörünüz: /home/user/source/ olduğunu ve foo/bar/foobar.txtdosyasını içerdiğini ve uzak dizininizin şu olduğunu varsayalım: /uploads/.
Bu seçilirse dosya şu dosyaya yük olur: /uploads/foo/bar/foobar.txt. Aksi takdirde, için: /uploads/foobar.txt
Varsayılan değer: false
trustSSL
Sunucu sertifikasına güven
(Gerekli) Bu seçeneğin belirlenerek, FTP sunucusunun SSL sertifikasına, otomatik olarak imzalanan ftps:// sertifika yetkilisi (CA) tarafından doğrulanamıyor olsa bile, bu sertifikaya güvenilir olması gerekir.
Varsayılan değer: false
customCmds
FTP Komutları
(İsteğe bağlı) Bağlantı sırasında uzak FTP sunucusuna gönderilecek isteğe bağlı FTP Komutları

Açık kaynak

Bu görev, üzerinde açık kaynak GitHub. Geri bildirim ve katkılar açıktır.

SSS

Dosya eşleştirme desenleri hakkında nereden daha fazla bilgi öğrenebilirim?

Dosya eşleştirme desenleri başvurusu

S: Yapıtlarımı yayımlamayla ilgili sorunm var. Ayrıntılı günlükleri nasıl görüntüleyebilirsiniz?

İşlem hattınız için ayrıntılı günlükleri etkinleştirmek için:

  1. İşlem hattınızı düzenleyin ve Değişkenler'i seçin
  2. Ad ve değere sahip yeni bir System.Debug değişken ekleme true
  3. Kaydet

S: Hangi değişkenler kullanılabilir?

A: $(Build.SourcesDirectory)$(Agent.BuildDirectory) ve, işlem hattında kullanabileceğiniz değişkenlerden yalnızca birkaçıdır. Değişkenler ifade veya betik olarak kullanılabilir.

Farklı değişken türleri hakkındabilgi edinmek için bkz.Değişkenleri tanımlama, önceden tanımlanmış değişkenler ve Klasik sürüm ve yapıt değişkenleri.

S: Görev yaml işlem hattında dağıtım iş yerinde yapıtları yayımlamama olanak sağlar, ancak bunu aşağı akış işlem hattında kullana değilim.

A: Dağıtım işleri kaynak dalların bağlamına sahip değildir ve bu nedenle yapıtları yayımlamak için uygun değildir. Bunlar öncelikli olarak yapıtları tüketmek üzere tasarlanmıştır. Geçici çözüm, bu mantığı ayrı bir iş (dağıtım işlerinize bağımlılıklar ile) halinde yalıtmaktır.

Bir aracıya ihtiyacım var mı?

Derlemenizi veya yayınını çalıştırmak için en az bir aracı gerekir.

Sorunlarımız var. Bunları nasıl gidererim?

Bkz. Derleme ve Sürüm Sorunlarını Giderme.

Varsayılan aracı havuzunu seçe değilim ve derlememi veya sürümümi kuyruğa ala bilmiyorum. Nasıl yaparım? düzeltebilir misiniz?

Bkz. Aracı havuzları.

My NuGet görev şu hatayla başarısız oluyor: "Hata: yerel sertifikayı verdiremiyor". Bunu nasıl düzeltebilirim?

Bu, güvenilen bir kök sertifika ekerek düzeltilmiştir. Ortam değişkenini derleme NODE_EXTRA_CA_CERTS=file aracınıza ekleyebilir veya görev değişkenini işlem NODE.EXTRA.CA.CERTS=file hattınıza ebilirsiniz. Bu Node.js hakkında daha fazla bilgi için bkz.Node.js belgeleri. İşlem hattınıza değişken ayarlama hakkında yönergeler için bkz. İşlem hattında değişken ayarlama.

Şirket içi TFS'yi kullanıyor ve bu özelliklerden bazılarını göremiyorum. Neden olmasın?

Bu özelliklerden bazıları yalnızca şirket Azure Pipelines şirket içinde kullanılamaz. TFS'nin en son sürümüne yükseltme yaptıysanız bazı özellikler şirket içinde kullanılabilir.