Come faccio a creare un manifesto msdeploy che include proprietà di destinazione come username e password?

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

  •  18-09-2019
  •  | 
  •  

Domanda

Dopo una settimana di lotta Ho appena ricevuto il gestore msdeploy su IIS7 (maledicendo la documentazione di back-ass di esso). Quindi so di avere una semplice sincronizzazione "di lavoro", ma mi piacerebbe spostare il maggior numero di parametri -sync in un manifesto, piuttosto che seppellire nel mio compito MSBUILD. Ecco la linea di comando 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

Ho trovato un sacco di esempi di manifesti che contengono il percorso iisapp, ma di solito spostare gli altri bit di un file di parametri (sto cercando di indovinare) voce utente. C'è qualcosa di semplice come questo:

<!-- 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>
È stato utile?

Soluzione

Non è esattamente lo stesso scenario, ma potrebbe dare qualche idea.
Questo è quello che abbiamo fatto cercando di aggiornare il nostro database con msdeploy.
In primo luogo abbiamo creato una manifest.xml dove diciamo msdeploy fornitore dbFullSql dove cercare per i nostri script SQL:

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

Allora avete bisogno parameter.xml dove si specifica stringa di connessione al database:

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

Ora siamo pronti per creare un pacchetto con il nostro manifesto:

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

E infine distribuirlo:

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

Così si può vedere come è possibile mantenere i parametri in un file separato. Magia!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top