Esempio n. 1
0
        public ActionResult Build(string id, bool redeploy = false, bool reset = false, string key = null)
        {
            string configPath = GetConfigPath(id);


            var model = JsonStorage.ReadFile <BuildConfig>(configPath);


            if (!string.IsNullOrWhiteSpace(key))
            {
                if (model.TriggerKey != key)
                {
                    throw new UnauthorizedAccessException();
                }
            }

            SaveConfig(id, configPath, model);

            string buildPath   = model.BuildFolder;
            string commandLine = "id=" + id + " config=\"" + configPath + "\" build=\"" + buildPath + "\"";

            if (redeploy)
            {
                commandLine += " redeploy=true";
            }


            return(new BuildActionResult(model, commandLine, reset, SettingsPath));
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            var dictionary = args
                             .Select(x => x.Split(new char[] { '=' }, 2).Select(s => s.Trim()))
                             .Where(x => x.Count() == 2)
                             .ToDictionary(x => x.FirstOrDefault(), x => x.LastOrDefault());



            string id          = dictionary["id"];
            string configPath  = dictionary["config"].Trim('"');
            string buildFolder = dictionary["build"].Trim('"');

            bool   redeploy = false;
            string v;

            if (dictionary.TryGetValue("redeploy", out v))
            {
                redeploy = v?.Equals("yes", StringComparison.OrdinalIgnoreCase) ?? false;
            }



            string configXDT = null;

            if (args.Length > 2)
            {
                configXDT = args[2];
            }

            BuildConfig config = JsonStorage.ReadFile <BuildConfig>(configPath);

            config.BuildFolder = buildFolder;

            var lastBuild = Execute(config, redeploy);

            JsonStorage.WriteFile(lastBuild, config.BuildResult);

            if (lastBuild.Success)
            {
                Console.WriteLine(lastBuild.Log);
            }
            else
            {
                Console.Error.WriteLine(lastBuild.Error ?? "Something went wrong...");
                Environment.ExitCode = lastBuild.ExitCode;
            }
        }