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ımlarolarak adlandırılır, çalışmalaraderlemelerdenir, hizmet bağlantılarınahizmet uç noktalarıdenir, aşamalarortamlarolarak adlandırılır ve işleraşamalarolarak 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;buildNote: 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 GitHubaçık kaynağıdı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 PEMssh-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 gönderme görevi ş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. Bu değişken hakkında daha fazla bilgi için bkz. Node.js belgeleri . İşlem hattınızda değişken ayarlamaya ilişkin yönergeler için bkz. işlem hattındaki değişkenleri ayarlama .
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.