public async Task<DeploymentChangeSummary> PublishContentToSingleSite(Site site)
{
string lockPath = Path.Combine(site.FilePath, "deployment.lock");
LockFile lockFile = null;
Trace.TraceInformation("Sync to single site: {0}", site.Name);
try
{
if (LockFile.TryGetLockFile(lockPath, out lockFile))
{
WebDeployHelper webDeployHelper = new WebDeployHelper();
return await Task<DeploymentChangeSummary>.Run(() =>
webDeployHelper.DeployContentToOneSite(
Repository,
Environment.Instance.ContentPath,
site.Settings.FilePath));
}
return null;
}
catch (Exception e)
{
Trace.TraceError("Error processing {0}: {1}", Path.GetFileName(site.Settings.FilePath), e.ToString());
return null;
}
finally
{
if (lockFile != null)
{
lockFile.Dispose();
lockFile = null;
}
}
}