SSH Dağıtım görevi

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

Bu görevi kullanarak, SSH kullanarak bir uzak makinede kabuk komutlarını veya bir betiği çalıştırın. Bu görev, SSH kullanarak uzak makineye bağlanmanıza ve komutları veya komut dosyasını çalıştırmanıza olanak sağlar.

Not

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

Önkoşullar

  • Görev, uzak makineye bağlanmak için SSH anahtar çiftinin kullanımını destekler.
  • Ortak anahtar önceden yüklenmiş veya uzak makineye kopyalanmalıdır.

YAML kod parçacığı

# SSH
# Run shell commands or a script on a remote machine using SSH
- task: SSH@0
  inputs:
    sshEndpoint: 
    #runOptions: 'commands' # Options: commands, script, inline
    #commands: # Required when runOptions == Commands
    #scriptPath: # Required when runOptions == Script
    #inline: # Required when runOptions == Inline
    #interpreterCommand: # Used when runOptions == Inline
    #args: # Optional
    #failOnStdErr: true # Optional

Bağımsız değişkenler

Bağımsız Değişken Description
SSH uç noktası Uzak makinenin bağlantı ayrıntılarını içeren bir SSH hizmeti bağlantısının adı. Bir SSH hizmeti bağlantısı oluşturmak için uzak makinenin ana bilgisayar adı veya IP adresi, bağlantı noktası numarası ve Kullanıcı adı gereklidir.
-Kimlik doğrulaması için özel anahtar ve parolanın belirtilmesi gerekir.
-Uzak Linux makinelerinde kimlik doğrulaması için bir parola kullanılabilir, ancak bu, macOS veya Windows sistemleri için desteklenmez.
Çalıştır Uzak makinede kabuk komutları veya bir kabuk betiği çalıştırmayı seçin.
Komutlar Uzak makinede çalıştırılacak kabuk komutları. Bu parametre yalnızca Çalıştır seçeneği için Komutlar seçildiğinde kullanılabilir. Her komutu, bağımsız değişkenleriyle birlikte, çok satırlı TextBox 'ın yeni bir satırına girin. Birden çok komutu birlikte çalıştırmak için, bunları noktalı virgülle ayırarak aynı satıra girin. Örnek: cd /home/user/myFolder;build

Note: her komut ayrı bir işlemde çalışır. Birbirine bağımlı olan bir dizi komut çalıştırmak istiyorsanız (örneğin, bir komutu yürütmeden önce geçerli klasörü değiştirmek) bunun yerine satır Içi betik seçeneğini kullanın.
Kabuk betiği yolu Uzak makinede çalıştırılacak kabuk betik dosyasının yolu. Bu parametre yalnızca, Çalıştır seçeneği için kabuk betiği seçildiğinde kullanılabilir.
Yorumlayıcı komutu Betiği yürütmek için kullanılan komut yorumlayıcısının yolu. Seçenek = satır içi çalıştırıldığında kullanılır . Betiğin başlangıcına bir shebang satırı ekler. Yalnızca UNIX benzeri işletim sistemleri için geçerlidir. Lütfen Windows tabanlı uzak konaklar için boş dize kullanın. Shebang hakkında daha fazla bilgi edinin (#!)
Bağımsız değişkenler Kabuk betiğine geçirilecek bağımsız değişkenler. Bu parametre yalnızca, Çalıştır seçeneği için kabuk betiği seçildiğinde kullanılabilir.
Gelişmiş-STDERR üzerinde başarısız oldu Bu seçenek işaretliyse (varsayılan), uzak komutlar veya betik stderr'e yazarsanız yapı başarısız olur.
Denetim seçenekleri Bkz. Denetim seçenekleri

Desteklenen algoritmalar

Anahtar çifti algoritmaları

  • RSA
  • 'DA

Şifreleme algoritmaları

  • AES256-CBC
  • aes192-cbc
  • AES128-CBC
  • blowbalık-CBC
  • 3DES-CBC
  • arcfour256
  • arcfour128
  • Cast128-CBC
  • arcdört

OpenSSL v 1.0.1 ve üzeri için (aracıda):

  • AES256-Mrk
  • AES192-Mrk
  • AES128-Mrk

OpenSSL v 1.0.1 ve üzeri için NodeJS v 0.11.12 ve üzeri (aracıda) için:

  • AES128-GCM
  • aes128-gcm@openssh.com
  • AES256-GCM
  • aes256-gcm@openssh.com

Ayrıca bkz.

Açık kaynak

Bu görev GitHub 'daaçık kaynaktır. Geribildirim ve katılımlar hoş geldiniz.

SSS

SSH görevlerinde hangi anahtar biçimleri desteklenir?

SSH görevleri Azure Pipelines ssh2 SSH bağlantıları için Node.js paketini kullanır. SSH görevlerinin en son sürümünü kullandığınızdan emin olun. Eski sürümler OpenSSH anahtar biçimini desteklemiyor olabilir.

"Desteklenmeyen anahtar biçimi" hatası ile çalıştırırsanız, -m PEM ssh-keygen anahtarın desteklenen bir biçimde olması için bu bayrağı komutınıza eklemeniz gerekebilir.

Bir aracıya ihtiyacım var mı?

Yapınızı veya sürümünüzü çalıştırmak için en az bir aracınız olması gerekir.

Sorun yaşıyorum. Sorunları nasıl giderebilirim?

Bkz. derleme ve yayın sorunlarını giderme.

Varsayılan bir aracı havuzu seçemiyorum ve derleme veya yayınımı sıraya alamıyorum. Bu Nasıl yaparım? düzeltilsin mi?

Bkz. Aracı havuzları.

NuGet Push görevlerim şu hata ile başarısız oluyor: "hata: yerel veren sertifikası alınamıyor". Bunu nasıl giderebilirim?

Bu, güvenilen kök sertifika eklenerek düzeltilebilir. NODE_EXTRA_CA_CERTS=fileOrtam değişkenini yapı aracıya ekleyebilir veya NODE.EXTRA.CA.CERTS=file görev değişkenini işlem hattınızda ekleyebilirsiniz. Daha fazla ayrıntı için bkz. ortam değişkenleri .

TFS 'yi şirket içinde kullanıyorum ve bu özelliklerden bazılarını görmüyorum. Neden olmasın?

Bu özelliklerden bazıları yalnızca Azure Pipelines kullanılabilir ve şirket içinde henüz kullanılabilir değil. TFS 'nin en son sürümüne yükselttiysenizbazı özellikler şirket içinde kullanılabilir.