本文整理汇总了C#中DeploymentResult.MergedWith方法的典型用法代码示例。如果您正苦于以下问题:C# DeploymentResult.MergedWith方法的具体用法?C# DeploymentResult.MergedWith怎么用?C# DeploymentResult.MergedWith使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DeploymentResult
的用法示例。
在下文中一共展示了DeploymentResult.MergedWith方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Execute
public DeploymentResult Execute()
{
var deploymentResult = new DeploymentResult();
bool abort = false;
Ex(d =>
{
if(!abort) {
var o = d.Verify();
deploymentResult.MergedWith(o);
if(deploymentResult.ShouldAbort) { abort = true; }
if(o.ContainsError()) {
//display errors!
DisplayResults(o);
//stop. report verify error.
return;
}
var result = d.Execute();
DisplayResults(result);
deploymentResult.MergedWith(result);
if(deploymentResult.ShouldAbort) { abort = true; }
} else {
Logging.Coarse(LogLevel.Error, "[Skip ] {0}", d.Name);
}
});
return deploymentResult;
}
示例2: VerifyCanRun
public override DeploymentResult VerifyCanRun() {
var result = new DeploymentResult();
result.AddNote(_reason);
if(_filesShouldExist.Count > 0) {
var tmpDR = new DeploymentResult();
foreach(var filePath in _filesShouldExist) {
string actualPath = _path.GetFullPath(filePath);
if(!File.Exists(actualPath)) { tmpDR.AddError(" File '{0}' should exist!.".FormatWith(actualPath)); }
}
result.MergedWith(tmpDR);
//errors show up anyway, give some feedback if everything OK.
if(!tmpDR.ContainsError()) { result.AddNote(" All {0} files found!".FormatWith(_filesShouldExist.Count)); }
} else {
result.AddNote(" No Files that should exist.");
}
if(_directoriesShouldExist.Count > 0) {
var tmpDR = new DeploymentResult();
foreach(var dirPath in _directoriesShouldExist) {
string actualPath = _path.GetFullPath(dirPath);
if(!Directory.Exists(actualPath)) { tmpDR.AddError(" Directory '{0}' should exist".FormatWith(actualPath)); }
}
result.MergedWith(tmpDR);
//errors show up anyway, give some feedback if everything OK.
if(!tmpDR.ContainsError()) { result.AddNote(" All {0} directories found!".FormatWith(_directoriesShouldExist.Count)); }
} else {
result.AddNote(" No Directories that should exist.");
}
if(_filesShould_NOT_Exist.Count > 0) {
var tmpDR = new DeploymentResult();
foreach(var filePath in _filesShould_NOT_Exist) {
string actualPath = _path.GetFullPath(filePath);
if(File.Exists(actualPath)) { tmpDR.AddError(" File '{0}' should NOT exist!.".FormatWith(actualPath)); }
}
result.MergedWith(tmpDR);
if(!tmpDR.ContainsError()) { result.AddNote(" None of the {0} files exist!".FormatWith(_filesShould_NOT_Exist.Count)); }
} else {
result.AddNote(" No Files that should NOT exist.");
}
if(_directoriesShould_NOT_Exist.Count > 0) {
var tmpDR = new DeploymentResult();
foreach(var dirPath in _directoriesShould_NOT_Exist) {
string actualPath = _path.GetFullPath(dirPath);
if(Directory.Exists(actualPath)) { tmpDR.AddError(" Directory '{0}' should NOT exist".FormatWith(actualPath)); }
}
result.MergedWith(tmpDR);
if(!tmpDR.ContainsError()) { result.AddNote(" None of the {0} directories exist!".FormatWith(_directoriesShould_NOT_Exist.Count)); }
} else {
result.AddNote(" No Directories that should NOT exist.");
}
if(_shouldAbortOnError && result.ContainsError()) { result.AddAbort(_reason); }
return result;
}
示例3: VerifyCanRun
public DeploymentResult VerifyCanRun()
{
var result = new DeploymentResult();
foreach (var task in _tasks)
{
var r = task.VerifyCanRun();
result = result.MergedWith(r);
}
return result;
}
示例4: Execute
public DeploymentResult Execute()
{
var result = new DeploymentResult();
foreach (var task in _tasks)
{
var r = task.Execute();
result = result.MergedWith(r);
}
return result;
}
示例5: Execute
public DeploymentResult Execute()
{
var deploymentResult = new DeploymentResult();
try
{
Ex(detail =>
{
if (!deploymentResult.ShouldAbort)
{
var verifyResult = detail.Verify();
deploymentResult.MergedWith(verifyResult);
if (verifyResult.ContainsError())
{
DisplayResults(verifyResult);
}
else
{
Logging.Coarse(LogLevel.Info, "[Run ] {0}", detail.Name);
var executeResult = detail.Execute();
DisplayResults(executeResult);
deploymentResult.MergedWith(executeResult);
}
if (deploymentResult.ContainsError() && AbortOnError)
{
var message = "[Abort] Aborting due to previous error (since --abortOnError switch was specified).";
deploymentResult.AddAbort(message);
Logging.Coarse(LogLevel.Error, message);
throw new DeploymentAbortedException();
}
}
else
{
Logging.Coarse(LogLevel.Error, "[Skip ] {0}", detail.Name);
}
});
}
catch (DeploymentAbortedException) { }
return deploymentResult;
}
示例6: Trace
public DeploymentResult Trace()
{
var deploymentResult = new DeploymentResult();
Ex(d =>
{
var result = d.Trace();
DisplayResults(result);
deploymentResult.MergedWith(result);
});
return deploymentResult;
}
示例7: Execute
public DeploymentResult Execute()
{
var deploymentResult = new DeploymentResult();
Ex(d =>
{
var o = d.Verify();
deploymentResult.MergedWith(o);
if (o.ContainsError())
{
//stop. report verify error.
return;
}
var result = d.Execute();
DisplayResults(result);
deploymentResult.MergedWith(result);
});
return deploymentResult;
}
示例8: Ex
DeploymentResult Ex(Func<DeploymentDetail, DeploymentResult> action)
{
Console.WriteLine(Name);
var result = new DeploymentResult();
foreach (var role in _roles)
{
Console.WriteLine(" {0}", role.Name);
role.ForEachServer(s =>
{
Console.WriteLine(" {0}", s.Name);
s.ForEachDetail(d =>
{
Console.WriteLine(" {0}", d.Name);
var r = action(d);
result.MergedWith(r);
foreach (var item in r.Results)
{
Console.WriteLine(" [{0}] {1}", item.Status, item.Message);
}
});
});
}
return result;
}