Criando um ambiente
Em seu projeto, crie um ambiente para agrupar configurações relacionadas e compartilhar valores entre elas para implementações mais fáceis. As propriedades incluídas em um ambiente são automaticamente incluídas em configurações que estão usando esse ambiente. Dentro da configuração, pode-se substituir quaisquer valores fornecidos pelo ambiente. Para obter mais informações, consulte os benefícios para usar ambientes.
Ao editar uma configuração, é possível selecionar um ambiente para a configuração usar na seção Definir detalhes.
Antes de Iniciar
Deve-se ter a função Editor ou superior no serviço de Projetos IBM Cloud® para criar e editar ambientes. Para obter mais informações sobre acesso e permissões, consulte Designando acesso de usuários a projetos.
Criando um ambiente usando o console
Para criar um ambiente de seu projeto, conclua as etapas a seguir:
- No console do IBM Cloud, clique no ícone Menu Navegação
> Projetos e selecione um projeto.
- Na guia Gerenciar, selecione Ambientes.
- Clique em Criar.
- Forneça um nome para seu ambiente, em seguida, clique em Incluir para incluir propriedades.
Há três categorias de propriedades que você pode incluir em um ambiente: autenticação, conformidade, e entrada. É possível incluir essas propriedades manualmente ou incluir várias propriedades de uma vez em uma configuração em seu projeto.
Incluindo propriedades manualmente
Se você incluir as propriedades manualmente, considere incluir o método de autenticação primeiro. O método de autenticação para sua conta de destino é necessário para autorizar uma implementação nessa conta de destino. O método de autenticação também será usado se você desejar extrair um anexo do Security and Compliance Center de sua conta de destino. É possível incluir apenas uma propriedade de autenticação em um ambiente e é possível incluir apenas uma propriedade de conformidade em um ambiente se você tiver um anexo Security and Compliance Center em sua conta de destino que você deseja usar.. Não é possível incluir uma propriedade de conformidade que usa os controles padrão da arquitetura implementável, pois esses controles padrão variam de arquitetura para arquitetura.
Deve-se fornecer uma propriedade de autenticação em seu ambiente primeiro com detalhes de autenticação válidos se você desejar incluir uma propriedade de conformidade e especificar um anexo do Security and Compliance Center. É possível usar uma chave de API com Secrets Manager ou é possível usar um perfil confiável para autenticar com a conta de destino que contém seu anexo Security and Compliance Center.
As informações de autenticação e de conformidade são usadas em todas as configurações, portanto, se você incluir uma propriedade de autenticação ou uma propriedade de conformidade com um anexo Security and Compliance Center em seu ambiente, ele será automaticamente incluído em qualquer configuração que estiver usando o ambiente..
Valores de entrada também podem ser incluídos como propriedades em seu ambiente. Ao incluir uma entrada em um ambiente, o nome de entrada no ambiente deve corresponder ao nome da entrada nas configurações que estão usando o ambiente. Se os
nomes não corresponderem, o valor do ambiente não será usado na configuração. Por exemplo, se você incluir uma entrada em seu ambiente e nomeá-la como resource_group
, mas uma configuração que está usando esse ambiente tiver
uma entrada denominada resourcegroup
, o valor do ambiente não será usado nessa configuração.
Várias arquiteturas podem utilizar o mesmo ambiente, mas nem todas as arquiteturas têm os mesmos nomes de entrada para valores semelhantes É possível incluir várias entradas em seu ambiente com o mesmo valor, mas nomes diferentes. Por exemplo,
é possível incluir duas propriedades de entrada e nomear um resource_group
e o outro resourcegroup
. Mantenha os valores os mesmos para ambas as propriedades Qualquer configuração que estiver usando o ambiente e
tiver um nome de entrada resource_group
ou um nome de entrada resourcegroup
usará o mesmo valor do ambiente.
Para adicionar uma propriedade manualmente, conclua as etapas a seguir:
-
Após criar seu ambiente, clique no ícone Editar
para o ambiente.
-
Clique Adicionar >Adicionar manualmente...
-
Selecione qual categoria de propriedade deseja incluir.
Considere incluir uma propriedade de autenticação primeiro com os detalhes de autenticação válidos para sua conta de destino
-
Forneça os detalhes da propriedade e clique em Incluir.
-
Clique em Salvar.
Adicionando propriedades de uma configuração
Economize tempo e reduza erros incluindo várias propriedades em seu ambiente de uma configuração. Ao fazer isso, você ajuda a assegurar que as propriedades sejam precisas em seu ambiente, pois os nomes de entrada e os valores são extraídos diretamente da configuração selecionada por você.. Depois de incluir as propriedades de uma configuração, é possível editá-las no ambiente sem afetar sua configuração. Edições futuras na sua configuração não afetarão as propriedades do seu ambiente.
Para incluir várias propriedades de uma configuração, conclua as etapas a seguir:
- Após criar seu ambiente, clique no ícone Editar
para o ambiente.
- Clique em Incluir > Incluir de uma configuração ...
- Selecione a configuração que deseja usar para incluir propriedades em seu ambiente.
- Selecione os itens da configuração que deseja incluir em seu ambiente e clique em Incluir.
Criando um ambiente usando a CLI
Para criar um ambiente usando a CLI, execute o comando ibmcloud project environment-create
a seguir:
ibmcloud project environment-create --project-id PROJECT-ID [--definition DEFINITION]
No definition
, é possível especificar as propriedades de entrada que deseja incluir em seu ambiente usando a opção inputs
. Da mesma forma, é possível especificar uma propriedade de autenticação em seu ambiente usando
a opção authorizations
dentro do definition
Além disso, é possível incluir uma propriedade de conformidade incluindo a opção compliance-profile
no definition
também.
Por exemplo, o comando a seguir cria um ambiente denominado development
e possui uma propriedade de entrada que define o grupo de recursos:
ibmcloud project environment-create \
--project-id exampleString \
--definition '{"name": "development", "inputs": {"resource_group" : "stage"}}'
Da mesma forma, o comando a seguir cria um ambiente denominado development
e possui uma propriedade de entrada que define o grupo de recursos. Um perfil confiável também é fornecido como uma propriedade de autenticação, juntamente com um anexo de Security and Compliance Center para a propriedade de conformidade que está localizada na região us-south
:
ibmcloud project environment-create \
--project-id exampleString \
--definition '{
"name": "development",
"authorizations": {
"method": "trusted_profile",
"trusted_profile_id": "<trusted-profile-id>"
},
"inputs": {
"resource_group": "stage"
},
"compliance_profile": {
"id": "<profile-id>",
"instance_id": "<instance-id>",
"instance_location": "us-south",
"profile_name": "{\"instance_crn\":\"crn:v1:staging:public:compliance:us-south:a/<account>:<instance-id>::\",\"instance_label\":\"compliance\",\"name\":\"Basic Control\",\"version\":\"1.0.0\",\"attachment_label\":\"basic\"}",
"attachment_id": "<attachment-id>"
}
}'
Para obter mais informações sobre os parâmetros de comando, consulte ibmcloud project environment-create
Criando um ambiente usando a API
É possível criar programaticamente um ambiente chamando a API de projetos conforme mostrado na solicitação de amostra a seguir. O exemplo cria um ambiente
denominado development
e possui duas propriedades de entrada, uma para definir o grupo de recursos e uma para definir a região:
curl -X POST --location --header "Authorization: Bearer {iam_token}" \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--data '{ "definition": { "name": "development", "description": "The environment 'development'", "authorizations": { "method": "api_key", "api_key": "TbcdlprpFODhkpns9e0daOWnAwd2tXwSYtPn8rpEd8d9" }, "inputs": { "resource_group": "stage", "region": "us-south" }, "compliance_profile": { "id": "some-profile-id", "instance_id": "some-instance-id", "instance_location": "us-south", "profile_name": "some-profile-name", "attachment_id": "some-attachment-id" } } }' \
"{base_url}/v1/projects/{project_id}/environments"