string CreateReleaseStartupScript() { List <Dictionary <string, object> > secrets = LoadSecrets(); TextTemplate startupTemplate = new TextTemplate( File.ReadAllText("startup.sh") ); string script = startupTemplate.Format( new Dictionary <string, object> { { "STACKNAME", Name }, { "APP", Configuration.Application }, { "ENV", this.environment }, { "RELEASE", Version.Release }, { "SHA", Version.Commit }, { "PORT", Configuration.Port }, { "S3_BUCKET", Configuration.BaseBucketName }, { "SECRETS", secrets }, { "BUILD_DATE", Version.BuildDate }, { "BUILD_TIME", Version.BuildTime }, } ); script = script.Replace("\r\n", "\n"); using (var scriptOut = new MemoryStream()) { using ( var gzs = new GZipStream( scriptOut, CompressionLevel.Optimal, leaveOpen: true ) ) { byte[] scriptBytes = Encoding.UTF8.GetBytes(script); gzs.Write(scriptBytes, 0, scriptBytes.Length); gzs.Flush(); } byte[] bytes = new byte[scriptOut.Length]; scriptOut.Position = 0; scriptOut.Read(bytes, 0, bytes.Length); //File.WriteAllBytes("blah.sh.gz", bytes); return(Convert.ToBase64String(bytes)); } }
string CreateStartupScript() { TextTemplate startupTemplate = new TextTemplate( File.ReadAllText("builder.sh") ); string script = startupTemplate.Format( new Dictionary <string, object> { { "STACKNAME", Name }, { "APP", Configuration.Application }, { "SHA", Version.Commit }, { "S3_BUCKET", Configuration.BaseBucketName }, { "BUILD_DATE", Version.BuildDate }, { "BUILD_TIME", Version.BuildTime }, { "GIT_URL", Configuration.GitUrl }, { "GIT_KEY", Configuration.GithubKey }, } ); script = script.Replace("\r\n", "\n"); using (var scriptOut = new MemoryStream()) { using ( var gzs = new GZipStream( scriptOut, CompressionLevel.Optimal, leaveOpen: true ) ) { byte[] scriptBytes = Encoding.UTF8.GetBytes(script); gzs.Write(scriptBytes, 0, scriptBytes.Length); gzs.Flush(); } byte[] bytes = new byte[scriptOut.Length]; scriptOut.Position = 0; scriptOut.Read(bytes, 0, bytes.Length); // File.WriteAllBytes("build.sh.gz", bytes); return(Convert.ToBase64String(bytes)); } }