public ActionResult Deploy(Guid id) { var p = projs.FindOne(Query.EQ("_id", id)); if (p != null) { string workingPath = null; var wc = ConfigurationManager.AppSettings; if (wc.AllKeys.Contains("workingDirectory")) { workingPath = wc["workingDirectory"]; } var publisher = new Publisher(workingPath); string path = string.Empty; publisher.CloneRepo(p.GitRepositoryUrl, out path, p.GitUsername, p.GitPassword); publisher.UploadFiles(path, p.AmazonKey, p.AmazonSecretKey, p.AmazonS3Bucket); try { Directory.Delete(path, true); } catch{EventLog.WriteEntry("Application", "Unable to delete temp directory: "+ path, EventLogEntryType.Warning);} } return new EmptyResult(); }
public void CanCheckoutFromPublicRepoWithoutCredentials() { var pub = new Publisher(); string tempDirPath = string.Empty; var r = pub.CloneRepo("https://path.to.repo.git", out tempDirPath); Assert.IsNotEmpty(tempDirPath); }