コード例 #1
0
        private static async Task runLocalInstall(IServiceProvider sp, string versionKey, CredentialValue credential)
        {
            var hostEnv            = sp.GetService <IHostEnvironment>();
            var options            = sp.GetService <IOptions <InstallOptions> >().Value;
            var installProcessPath = Path.Combine
                                     (
                Environment.GetEnvironmentVariable("XTI_Dir"),
                "Tools",
                "LocalInstallApp",
                "LocalInstallApp.exe"
                                     );
            var installProcess = new XtiProcess(installProcessPath)
                                 .UseEnvironment(hostEnv.EnvironmentName)
                                 .AddConfigOptions
                                 (
                new
            {
                AppName        = options.AppName,
                AppType        = options.AppType,
                VersionKey     = versionKey,
                SystemUserName = credential.UserName,
                SystemPassword = credential.Password
            }
                                 );

            Console.WriteLine("Running Local Install");
            var result = await installProcess
                         .WriteOutputToConsole()
                         .Run();

            result.EnsureExitCodeIsZero();
        }
コード例 #2
0
        private static async Task <CredentialValue> retrieveCredentials(IServiceProvider sp, string credentialKey)
        {
            var path    = getSecretsToolPath();
            var hostEnv = sp.GetService <IHostEnvironment>();
            var options = new SecretsToolOptions
            {
                Command       = "Get",
                CredentialKey = credentialKey
            };
            var process = new XtiProcess(path)
                          .UseEnvironment(hostEnv.EnvironmentName)
                          .AddConfigOptions(options);
            var result = await process.Run();

            result.EnsureExitCodeIsZero();
            var output = result.Data <SecretsToolOutput>();
            var secretCredentialsValue = new CredentialValue(output.UserName, output.Password);

            return(secretCredentialsValue);
        }
コード例 #3
0
        private static async Task <WinProcessResult> runVersionTool(VersionToolOptions versionOptions)
        {
            var versionToolProcess = new XtiProcess
                                     (
                Path.Combine
                (
                    getXtiDir(),
                    "Tools",
                    "XTI_VersionTool",
                    "XTI_VersionTool.exe"
                )
                                     );

            versionToolProcess.UseProductionEnvironment();
            versionToolProcess.AddConfigOptions(versionOptions);
            var result = await versionToolProcess.Run();

            result.EnsureExitCodeIsZero();
            return(result);
        }
コード例 #4
0
        private async Task storeSystemUserCredentials(IServiceProvider sp, AppKey appKey)
        {
            var credentialKey  = getCredentialKey(appKey);
            var options        = sp.GetService <IOptions <InstallOptions> >().Value;
            var path           = getSecretsToolPath();
            var hostEnv        = sp.GetService <IHostEnvironment>();
            var secretsOptions = new SecretsToolOptions
            {
                Command       = "Store",
                CredentialKey = credentialKey,
                UserName      = options.SystemUserName,
                Password      = options.SystemPassword
            };
            var process = new XtiProcess(path)
                          .WriteOutputToConsole()
                          .UseEnvironment(hostEnv.EnvironmentName)
                          .AddConfigOptions(secretsOptions);

            await writeLog(process.CommandText());

            var result = await process.Run();

            result.EnsureExitCodeIsZero();
        }
コード例 #5
0
        private static async Task <VersionToolOutput> retrieveCurrentVersion(AppKey appKey)
        {
            var versionToolProcess = new XtiProcess
                                     (
                Path.Combine
                (
                    getXtiDir(),
                    "Tools",
                    "XTI_VersionTool",
                    "XTI_VersionTool.exe"
                )
                                     );

            versionToolProcess.UseProductionEnvironment();
            var versionOptions = new VersionToolOptions();

            versionOptions.CommandGetCurrentVersion(appKey.Name.Value, appKey.Type.DisplayText);
            versionToolProcess.AddConfigOptions(versionOptions);
            var versionResult = await versionToolProcess.Run();

            var currentVersion = versionResult.Data <VersionToolOutput>();

            return(currentVersion);
        }