Comment puis-je créer un manifeste msdeploy qui comprend des propriétés de destination comme nom d'utilisateur et mot de passe?

StackOverflow https://stackoverflow.com/questions/1868653

  •  18-09-2019
  •  | 
  •  

Question

Après une semaine de lutte, je viens de recevoir le gestionnaire de msdeploy sur IIS7 (maudissant la documentation en arrière-cul de celui-ci). Donc sais que j'ai une synchronisation simple « travail » mais je voudrais passer autant des paramètres -SYNC dans un manifeste plutôt que de l'enfouir dans ma tâche MSBUILD. Voici la ligne de commande deploy:

msdeploy.exe -verb:sync 
    -source:package="D:\Projects\Packaged.zip"
    -dest:iisApp="beta.mysite.com",
        wmsvc=ops.mysite.com,
        username=deployUser,
        password=secret,
        skipAppCreation=true 
    -allowUntrusted=true

Je l'ai trouvé beaucoup d'exemples qui contiennent des manifestes le chemin iisapp, mais ils se déplacent habituellement les autres bits à un fichier de paramètres pour (je suppose) entrée utilisateur. Y at-il quelque chose de simple comme ceci:

<!-- Pseudo-code manifest -->
<msdeploy.iisApp>
  <iisApp path="beta.mysite.com">
    <param key="wmsvc" value="ops.mysite.com"/>
    <param key="SkipAppCreation" value="true"/> 
    <param key="username" value="deployUser"/> 
    <param key="password" value="secret"/> 
  </iisApp> 
</msdeploy.iisApp>
Était-ce utile?

La solution

Pas exactement le même scénario, mais pourrait donner une idée.
Ce que nous avons fait en essayant de mettre à jour notre base de données avec msdeploy.
Tout d'abord nous avons créé un manifest.xml où nous disons msdeploy fournisseur de dbFullSql où chercher nos scripts SQL:

<sitemanifest>
  <dbfullsql path="test1.sql"/>
  <dbfullsql path="test2.sql"/>
  <dbfullsql path="test3.sql"/>
</sitemanifest>  

Ensuite, vous devez parameter.xml vous permet de spécifier la chaîne de connexion de base de données:

<parameters>
  <parameter
     name="ConnectionString"
     value="Data Source=localhost;uid=user;password=pass;multipleactiveresultsets=false;Initial Catalog=Db_name">
  <parameterEntry type="ProviderPath" scope="dbFullSql"/>
 </parameter>

Maintenant, nous sommes prêts à créer un package avec notre manifeste:

msdeploy.exe -verb:sync -source:manifest="manifest.xml" -dest:package="package.zip"

Et enfin déployer:

msdeploy.exe -verb:sync -source:package="package.zip" -dest:auto -setParamFile="parameter.xml"

Ainsi, vous pouvez voir comment vous pouvez conserver vos paramètres dans un fichier séparé. La magie!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top