示例#1
0
        private async Task <VoidOperationResult> BuildAgentAsync(GitRepository agentRepository)
        {
            var args = new ShellRunnerArgs(agentRepository.Directory,
                                           "docker", false, $"build -f {Path.Combine("Elevator.Agent", "Dockerfile")} -t agent .");
            var buildAgentResult = await shellRunner.RunAsync(args);

            if (!buildAgentResult.IsSuccessful)
            {
                return(VoidOperationResult.Failed($"Cannot build agent image. Error: '{buildAgentResult.Error}'"));
            }

            logger.LogInformation(await buildAgentResult.Value.Output.ReadToEndAsync());

            return(VoidOperationResult.Success());
        }
示例#2
0
        public async Task <VoidOperationResult> CheckoutAsync(string branch)
        {
            using var scope = logger.BeginScope("Checkout");

            var shellRunnerArgs = new ShellRunnerArgs(Directory, "git", false, "checkout", branch);

            var checkoutProcessResult = await shellRunner.RunAsync(shellRunnerArgs);

            if (!checkoutProcessResult.IsSuccessful)
            {
                return(VoidOperationResult.Failed(checkoutProcessResult.Error));
            }

            logger.LogInformation(await checkoutProcessResult.Value.Error.ReadToEndAsync());

            return(VoidOperationResult.Success());
        }