/// <summary> /// Write config ConnectionStringFramework and ConnectionStringApplication to ConfigCli.json and ConfigServer.json. /// </summary> private void ArgumentConnectionString() { ConfigCli configCli = ConfigCli.Load(); if (UtilCli.ArgumentValue(this, argumentConnectionString, out string connectionString)) { // Write configCli.EnvironmentGet().ConnectionStringFramework = connectionString; configCli.EnvironmentGet().ConnectionStringApplication = connectionString; ConfigCli.Save(configCli); } }
/// <summary> /// Read or write config ConnectionStringApplication. /// </summary> private void ArgumentConnectionStringApplication() { ConfigCli configCli = ConfigCli.Load(); if (UtilCli.ArgumentValue(this, argumentConnectionStringApplication, out string connectionString)) { // Write configCli.EnvironmentGet().ConnectionStringApplication = connectionString; ConfigCli.Save(configCli); } else { // Read UtilCli.ConsoleWriteLinePassword(argumentConnectionStringApplication.Name + "=" + configCli.EnvironmentGet().ConnectionStringApplication); } }
/// <summary> /// Run command line interface. /// </summary> public void Run(string[] args) { Title(args); try { ConfigCli.Init(this); var configCli = ConfigCli.Load(); ConfigCli.Save(configCli); // Reset ConfigCli.json ConfigCli.CopyConfigCliToConfigServer(); CommandEnvironment.ConsoleWriteLineCurrentEnvironment(configCli); commandLineApplication.Execute(args); CopyConfigCliToConfigServer(); // Copy new values from ConfigCli.json to ConfigServer.json } catch (Exception exception) // For example unrecognized option { UtilCli.ConsoleWriteLineError(exception); Environment.ExitCode = 1; // echo %errorlevel% } }
protected internal override void Execute() { ConfigCli configCli = ConfigCli.Load(); string environmentNameOld = configCli.EnvironmentName; if (UtilCli.ArgumentValueIsExist(this, argumentName)) { if (UtilCli.ArgumentValue(this, argumentName, out string name)) { configCli.EnvironmentName = name?.ToUpper(); } } configCli.EnvironmentGet(); // Get or init if (configCli.EnvironmentName != environmentNameOld) { ConsoleWriteLineCurrentEnvironment(configCli); } ConfigCli.Save(configCli); }
private void ArgumentWebsite() { ConfigCli configCli = ConfigCli.Load(); // Input DomainName Console.WriteLine("Enter domain name. For example: 'example.com' or empty for default website:"); Console.Write(">"); string domainName = Console.ReadLine(); // Input AppTypeName Console.WriteLine("Enter AppTypeName. For example: 'Application.AppMain, Application':"); Console.Write(">"); string appTypeName = Console.ReadLine(); if (Type.GetType(appTypeName) == null) { UtilCli.ConsoleWriteLineColor(string.Format("Type not found! ({0})", appTypeName), ConsoleColor.Yellow); } // Input FolderName Console.WriteLine("Enter npm build folder name. Or empty if no build. For example: 'Application.Website/LayoutDefault/'. In this folder ci calls npm install; npm build;"); Console.Write(">"); string folderNameNpmBuild = Console.ReadLine(); folderNameNpmBuild = UtilFramework.FolderNameParse(folderNameNpmBuild); string folderNameNpmBuildCheck = UtilFramework.FolderName + folderNameNpmBuild; if (!Directory.Exists(folderNameNpmBuildCheck)) { UtilCli.ConsoleWriteLineColor(string.Format("Folder does not exist! ({0})", folderNameNpmBuild), ConsoleColor.Yellow); } // Input FolderNameDist Console.WriteLine("Enter dist folder name. For example 'Application.Website/LayoutDefault/dist/'. Content of this folder is copied to FolderNameServer"); Console.Write(">"); string folderNameDist = Console.ReadLine(); folderNameDist = UtilFramework.FolderNameParse(folderNameDist); string folderNameDistCheck = UtilFramework.FolderName + folderNameDist; if (!Directory.Exists(folderNameDistCheck)) { UtilCli.ConsoleWriteLineColor(string.Format("Folder does not exist! ({0})", folderNameDist), ConsoleColor.Yellow); } // Add Website ConfigCliWebsite website = new ConfigCliWebsite(); website.DomainNameList = new List <ConfigCliWebsiteDomain>(); website.DomainNameList.Add(new ConfigCliWebsiteDomain() { EnvironmentName = configCli.EnvironmentNameGet(), DomainName = domainName, AppTypeName = appTypeName }); website.FolderNameNpmBuild = folderNameNpmBuild; website.FolderNameDist = folderNameDist; configCli.WebsiteList.Add(website); ConfigCli.Save(configCli); }
protected internal override void Execute() { ConfigCli configCli = ConfigCli.Load(); // Command "json" if (UtilCli.ArgumentValueIsExist(this, argumentJson)) { if (UtilCli.ArgumentValue(this, argumentJson, out string json)) { // Set ConfigCli.json with command: ".\cli.cmd config json='{}'" json = json.Trim('\"'); // Remove quotation marks at the begin and end. json = json.Replace("'", "\""); // To use it in command prompt. // Write try { configCli = UtilFramework.ConfigFromJson <ConfigCli>(json); } catch (Exception exception) { throw new Exception("ConfigCli invalid!", exception); } ConfigCli.Save(configCli); } } // Command "deployAzureGitUrl" if (UtilCli.ArgumentValueIsExist(this, argumentDeployAzureGitUrl)) { if (UtilCli.ArgumentValue(this, argumentDeployAzureGitUrl, out string value)) { // Write configCli.EnvironmentGet().DeployAzureGitUrl = value; ConfigCli.Save(configCli); } else { // Read Console.WriteLine(argumentDeployAzureGitUrl.Name + "=" + configCli.EnvironmentGet().DeployAzureGitUrl); } return; } // Command "connectionString" if (UtilCli.ArgumentValueIsExist(this, argumentConnectionString)) { ArgumentConnectionString(); return; } // Command "connectionStringFramework" if (UtilCli.ArgumentValueIsExist(this, argumentConnectionStringFramework)) { ArgumentConnectionStringFramework(); return; } // Command "connectionStringApplication" if (UtilCli.ArgumentValueIsExist(this, argumentConnectionStringApplication)) { ArgumentConnectionStringApplication(); return; } // Command "website" if (UtilCli.ArgumentValueIsExist(this, argumentWebsite)) { ArgumentWebsite(); return; } // Print ConfigCli.json to screen { configCli = ConfigCli.Load(); Console.WriteLine(); UtilCli.ConsoleWriteLineColor("Add the following environment variable to ci build server: (Value including double quotation marks!)", ConsoleColor.Green); string json = UtilFramework.ConfigToJson(configCli, isIndented: false); json = json.Replace("\"", "'"); // To use it in command prompt. UtilCli.ConsoleWriteLineColor("ConfigCli=", ConsoleColor.DarkGreen); UtilCli.ConsoleWriteLineColor(string.Format("\"{0}\"", json), ConsoleColor.DarkGreen); Console.WriteLine(); } }