En plus de la ligne ci-dessus, j'ai trouvé une solution pour Teamcity avec une invite de mot de passe masquée (étape de construction écrite sous forme de commande, version TC 2020.1.2) :
smbclient '%smbPath%' '%smbPassword%' -W %domain% -U %smbUser% -c 'prompt OFF; recurse OFF; cd %smbSource%; lcd tomcat/conf; mget *'
où
%smbPath% = \\smbserver\share
%smbPassword% = mot de passe de l'utilisateur du domaine, utilisez des guillemets simples
%domain% = domaine
%smbUser% = nom d'utilisateur
%smbSource% = sous-répertoire(s) à l'intérieur du partage samba (c'est-à-dire l'option -D)
recurse OFF = dans mon cas, je ne veux pas parcourir les sous-dossiers
tomcat/conf = chemin de destination relatif à %system.teamcity.build.tempDir% (c'est-à-dire le répertoire de travail)
Il téléchargera tous les fichiers du répertoire samba dans le répertoire de travail sur l'agent de construction. Le plus grand problème ici est la bonne mise entre guillemets d'un mot de passe. Le mot de passe contenant @
, #
doit être écrit séparément du nom d'utilisateur. Le mode d'échappement %smbUser%%%%smbPassword%
peut ne pas fonctionner.