Exemple #1
0
        public async Task SeedAsync(CancellationToken cancellationToken)
        {
            AgentPoolListResult types = await _mediator.Send(new GetAgentPoolsQuery(), cancellationToken);

            if (!types.AgentPools.IsDefaultOrEmpty)
            {
                return;
            }

            var agentPoolId = new AgentPoolId("Default");
            var result      = await _mediator.Send(new CreateAgentPool(agentPoolId, new AgentPoolName("Default")), cancellationToken);

            _logger.Debug("CreateAgentPool result for Id {Id}: {Status}", agentPoolId, result);

            var deploymentTargets = await _deploymentTargetReadService.GetDeploymentTargetsAsync(stoppingToken : cancellationToken);

            foreach (var deploymentTarget in deploymentTargets)
            {
                await _mediator.Send(new AssignTargetToPool(agentPoolId, deploymentTarget.Id), cancellationToken);
            }

            var agents = await _mediator.Send(new GetAgentsQuery(), cancellationToken);

            var assignedAgents = await _mediator.Send(new GetAssignedAgentsInPoolsQuery(), cancellationToken);

            foreach (var agent in agents.Agents)
            {
                bool assigned = false;
                foreach (var assignedAgentsAssignedAgent in assignedAgents.AssignedAgents)
                {
                    if (assignedAgentsAssignedAgent.Value.Contains(agent.Id))
                    {
                        assigned = true;
                        break;
                    }
                }

                if (!assigned)
                {
                    await _mediator.Send(new AssignAgentToPool(agentPoolId, agent.Id), cancellationToken);
                }
            }
        }
Exemple #2
0
 public GetAgentsInPoolQuery(AgentPoolId agentPoolId) => AgentPoolId = agentPoolId;