Powershell, C# y Deploy

23 views
Skip to first unread message

Kiquenet

unread,
May 25, 2012, 8:41:42 AM5/25/12
to altnet-...@googlegroups.com
Hola a todos, 

tenemos en el departamento un Addin para VS2010 - VS 2008, que permite desplegar los proyectos (de ASP.NET y WCF Services) en distintos entornos utilizando targets de MsBuild y psexec - WMI para la ejecución remota de esos scripts.
(Se copian los *.targets a carpeta compartida del servidor \\RemoteServer\Temporal, y se lanza -programáticamente con C#- el script target (MsBuild) remotamente utilizando wMI o psexec, utilizando un usuario-password con permisos adecuados).

La idea ahora es utilizar PowerShell programáticamente desde C# para invocar los scripts ps1 en las máquina remotas con un usuario determinado.

Estoy mirando PowerShell , que lo desconocía, y tiene mucho potencial. En cuanto a hacerlo programáticamente desde C# estoy mirando alternativas.

Me gustaría saber las experiencias del grupo al respecto (Powershell y despliegues en máquinas remotas) o algún ejemplo base de despliegues con PS y C#.

También si recomiendan alguna extensión de Powershell, he visto unas cuantas

PowerShell Pack
Powershell Community Extensions http://pscx.codeplex.com/
PowerBoots
SQL PowerShell Extensions (SQLPSX)
The PowerShell Guy's PowerTab
PoshWSUS - Powershell WSUS Module


Gracias de antemano. 

Un abrazo  

PD: Había una VAN de automatización de Martín Salías, espero poder también echarle un vistazo.



Referencias PowerShell
PowerShell PowerShell.com
PowerShell Code Repository http://poshcode.org
PowerShell 2.0 Commands http://ss64.com/ps/
PowerShell Community Extensions http://pscx.codeplex.com/


Agustín Ramos (@MachinesAreUs)

unread,
May 25, 2012, 9:58:54 AM5/25/12
to altnet-...@googlegroups.com
Hola
Si buscas quedarte con Powershell, tal vez quieras echar un vistazo a psake, una extensión para automatización de builds y despliegues. Aquí un buen artículo de un esquema completo.

http://www.simple-talk.com/dotnet/.net-tools/towards-the-perfect-build/

Yo personalmente uso Rake (ruby) y la extensión Albacore que trae tareas para MsBuild, NUnit, sqlcmd, etc.

Saludos

María NET Developer - Mírame a los ojos

unread,
Sep 24, 2018, 4:15:12 PM9/24/18
to AltNet-Hispano
Y Cake para Builds, lo han probado ?

Dificil llegar a la "perfect build".
Message has been deleted

María NET Developer - Mírame a los ojos

unread,
Sep 24, 2018, 4:26:23 PM9/24/18
to AltNet-Hispano

.Description("Faz o processo completo de envio.")
.Does(() =>
{
var iteracoes = servidores.Length;

for(int i = 0; i < iteracoes; i++){
haProxyServer = haProxyServers[i];
servidor = servidores[i];
urlTest = urlsTest[i];
destination = destinations[i];

//Deixa um servidor do balance em drain para parar de vir requisições
haProxyAction = "drain";
RunTarget("HAProxyPost");

//Espera um tempo até as requisições terminarem
RunTarget("Delay");

//Para a aplication pool
RunTarget("AppStop");

//Desliga o balance para este servidor
haProxyAction = "hdown";
RunTarget("HAProxyPost");

//Espera até a pool parar de vez
RunTarget("Delay");

//Copia os arquivos para o servidor
RunTarget("CopyFiles");

//Para a aplication pool
RunTarget("AppStart");

//Espera mais um pouco
RunTarget("Delay");

//Liga o balance
haProxyAction = "ready";
RunTarget("HAProxyPost");

//Espera mais ainda para o HAProxy subir ~1.5min
var oldDelay = delay;
delay = 90000;
RunTarget("Delay");
delay = oldDelay;

//Testa a conexão com o servidor específico
RunTarget("TestServer");
}
});

Reply all
Reply to author
Forward
0 new messages