private static async Task <Boolean> PushGithubAsync(BuildRequest br) { LogInfo("creating github files for dotnetcore " + br.Version); String timeStamp = DateTime.Now.ToString("yyyyMMddHHmmss"); String random = new Random().Next(0, 9999).ToString(); String parent = String.Format("F:\\home\\site\\wwwroot\\appsvcbuild{0}{1}", timeStamp, random); _githubUtils.CreateDir(parent); String localTemplateRepoPath = String.Format("{0}\\{1}", parent, br.TemplateRepoName); String localOutputRepoPath = String.Format("{0}\\{1}", parent, br.OutputRepoName); _githubUtils.Clone(br.TemplateRepoURL, localTemplateRepoPath, br.TemplateRepoBranchName); _githubUtils.CreateDir(localOutputRepoPath); if (await _githubUtils.RepoExistsAsync(br.OutputRepoOrgName, br.OutputRepoName)) { _githubUtils.Clone( br.OutputRepoURL, localOutputRepoPath, br.OutputRepoBranchName); } else { await _githubUtils.InitGithubAsync(br.OutputRepoOrgName, br.OutputRepoName); _githubUtils.Init(localOutputRepoPath); _githubUtils.AddRemote(localOutputRepoPath, br.OutputRepoOrgName, br.OutputRepoName); } _githubUtils.DeepCopy( String.Format("{0}\\{1}", localTemplateRepoPath, br.TemplateName), localOutputRepoPath, false); _githubUtils.DeepCopy( String.Format("{0}\\src\\{1}", localTemplateRepoPath, getZip(br.Version)), localOutputRepoPath, false); _githubUtils.CopyFile( String.Format("{0}\\src\\{1}\\bin.zip", localTemplateRepoPath, getZip(br.Version)), String.Format("{0}\\bin.zip", localOutputRepoPath), true); _githubUtils.FillTemplate( String.Format("{0}\\DockerFile", localOutputRepoPath), new List <String> { String.Format("FROM {0}", br.BaseImageName) }, new List <int> { 1 } ); _githubUtils.Stage(localOutputRepoPath, "*"); _githubUtils.CommitAndPush(localOutputRepoPath, br.OutputRepoBranchName, String.Format("[appsvcbuild] Add dotnetcore {0}", br.Version)); //_githubUtils.CleanUp(parent); LogInfo("done creating github files for dotnetcore " + br.Version); return(true); }
private static async System.Threading.Tasks.Task PushGithubHostingStartAsync(BuildRequest br) { LogInfo("creating github files for ruby " + br.Version); String timeStamp = DateTime.Now.ToString("yyyyMMddHHmmss"); String random = new Random().Next(0, 9999).ToString(); String parent = String.Format("F:\\home\\site\\wwwroot\\appsvcbuild{0}{1}", timeStamp, random); _githubUtils.CreateDir(parent); String localTemplateRepoPath = String.Format("{0}\\{1}", parent, br.TemplateRepoName); String localOutputRepoPath = String.Format("{0}\\{1}", parent, br.OutputRepoName); _githubUtils.Clone(br.TemplateRepoURL, localTemplateRepoPath, br.TemplateRepoBranchName); _githubUtils.CreateDir(localOutputRepoPath); if (await _githubUtils.RepoExistsAsync(br.OutputRepoOrgName, br.OutputRepoName)) { _githubUtils.Clone( br.OutputRepoURL, localOutputRepoPath, br.OutputRepoBranchName); } else { await _githubUtils.InitGithubAsync(br.OutputRepoOrgName, br.OutputRepoName); _githubUtils.Init(localOutputRepoPath); _githubUtils.AddRemote(localOutputRepoPath, br.OutputRepoOrgName, br.OutputRepoName); } _githubUtils.DeepCopy( String.Format("{0}\\{1}", localTemplateRepoPath, br.TemplateName), localOutputRepoPath, false); _githubUtils.FillTemplate( String.Format("{0}\\DockerFile", localOutputRepoPath), new List <String> { String.Format("ENV RUBY_VERSION=\"{0}\"", br.Version) }, new List <int> { 4 }); _githubUtils.Stage(localOutputRepoPath, "*"); _githubUtils.CommitAndPush(localOutputRepoPath, br.OutputRepoBranchName, String.Format("[appsvcbuild] Add ruby {0}", br.Version)); //_githubUtils.CleanUp(parent); LogInfo("done creating github files for ruby " + br.Version); return; }