Configurando o Terraform para Continuous Delivery
Continuous Delivery será descontinuado nas seguintes regiões em 12 de fevereiro de 2027: au-syd, ca-tor, us-east. O Code Risk Analyzer também será descontinuado em todas as regiões nessa data. Se uma região não apresentar uso ativo desses recursos, os recursos nessa região poderão ser descontinuados mais cedo e deixar de aceitar novas instâncias. Saiba mais
O Terraform no IBM Cloud® permite a criação previsível e consistente de serviços IBM Cloud, para que você possa construir rapidamente ambientes complexos de nuvem em várias camadas, seguindo os princípios da Infraestrutura como Código ( IaC ). Da mesma forma que ao usar a CLI do IBM Cloud ou a API e os SDKs, você pode automatizar a criação, a atualização e a exclusão de suas instâncias do IBM Cloud® Continuous Delivery usando a Linguagem de Configuração do HashiCorp (HCL).
Procurando por uma solução Terraform gerenciada no IBM Cloud®? Experimente o IBM Cloud® Schematics. Com o Schematics, você pode usar a linguagem de script do Terraform
com a qual já está familiarizado, sem precisar se preocupar com a configuração e a manutenção da linha de comando do Terraform e do plug-in do provedor IBM Cloud®. O Schematics também oferece modelos pré-definidos
do Terraform que você pode instalar facilmente a partir do catálogo IBM Cloud®.
Instalando o Terraform e configurando recursos para Continuous Delivery
Antes de iniciar, certifique-se de ter o acesso necessário para criar e trabalhar com recursos do continuous-delivery e o acesso necessário para criar e trabalhar com recursos do toolchain.
-
Siga o tutorial de introdução do Terraform on IBM Cloud para instalar a CLI do Terraform e configurar o plug-in do IBM Cloud Provedor para Terraform. O plug-in abstrai as APIs do IBM Cloud utilizadas para criar, atualizar ou excluir instâncias do serviço
continuous-deliverye recursostoolchain. -
Crie um arquivo de configuração do Terraform que seja denominado
main.tf. Neste arquivo, adicione a configuração para criar uma instância do serviço Continuous Delivery e para atribuir a um usuário uma política de acesso no Identity and Access Management (IAM) para essa instância, utilizando HCL. Você também inclui a configuração para criar um recurso de cadeia de ferramentas básico no mesmo grupo de recursos e região que a instância de serviço do Continuous Delivery e para designar a um usuário uma política de acesso no IAM para esse recurso. A cadeia de ferramentas e a instância de serviço do Continuous Delivery que governa o uso da cadeia de ferramentas estão no mesmo grupo de recursos e região. Para obter mais informações sobre como trabalhar com o arquivo de configuração do Terraform, consulte a Documentação do TerraformA instância de serviço Continuous Delivery no exemplo a seguir é denominada
my_cd. Ele é criado com o plano de precificação profissional no grupo de recursosdefaulte na regiãous-south. O usuáriouser1@ibm.comé designado à função Gerenciador na política de acesso do IAM para a instância de serviço.O recurso da cadeia de ferramentas é denominado
my_toolchainEle é criado no grupo de recursosdefaulte na região especificada no blocoprovider "ibm"em seu arquivoprovider.tf. Para este exemplo, oregionemprovider.tfé configurado comous-southO usuáriouser2@ibm.comé designado à função de Editor na política de acesso do IAM para o recurso da cadeia de ferramentasdata "ibm_resource_group" "default_rg" { name = "default" } resource "ibm_resource_instance" "cd_instance" { name = "my_cd" service = "continuous-delivery" plan = "professional" location = "us-south" resource_group_id = data.ibm_resource_group.default_rg.id } resource "ibm_iam_user_policy" "cd_policy" { ibm_id = "user1@ibm.com" roles = ["Manager"] resources { service = "continuous-delivery" resource_instance_id = element(split(":", ibm_resource_instance.cd_instance.id), 7) } } resource "ibm_cd_toolchain" "toolchain_instance" { name = "my_toolchain" resource_group_id = data.ibm_resource_group.default_rg.id } resource "ibm_iam_user_policy" "toolchain_policy" { ibm_id = "user2@ibm.com" roles = ["Editor"] resources { service = "toolchain" resource_instance_id = ibm_cd_toolchain.toolchain_instance.id } } -
Inicialize a CLI do Terraform.
terraform init -
Crie um plano de execução do Terraform. O plano de execução do Terraform resume todas as ações que devem ser executadas para criar a instância de serviço, o recurso da cadeia de ferramentas e as políticas de acesso do IAM associadas do Continuous Delivery em sua conta.
terraform plan -
Crie a instância de serviço Continuous Delivery, o recurso da cadeia de ferramentas e as políticas de acesso do IAM associadas em sua conta no IBM Cloud.
terraform apply -
No Lista de recursos IBM Cloud, expanda a seção Ferramentas do desenvolvedor e, em seguida, selecione a instância de serviço do Continuous Delivery que você criou e anote o ID da instância.
-
Verifique se a política de acesso foi atribuída com sucesso. Para obter mais informações sobre como designar políticas de acesso, consulte Revisando acesso designado no console.
-
No Lista de recursos IBM Cloud, expanda a seção Ferramentas do desenvolvedor, em seguida, selecione o recurso da cadeia de ferramentas que você criou e anote o ID da instância.
-
Verifique se a política de acesso foi atribuída com sucesso.
Ativação de logs da plataforma para uma instância de serviço Continuous Delivery com o Terraform
O serviço Continuous Delivery oferece suporte à capacidade de enviar os registros do Tekton PipelineRun como registros da plataforma. Isso permite receber em sua conta todos os registros do Tekton PipelineRun da região
e do grupo de recursos atuais, e você pode configurar sua conta para encaminhar esses registros recebidos para um destino, como IBM Cloud Logs.
-
Em seu arquivo de configuração do Terraform, ajuste a configuração para incluir o parâmetro
platform_logging_pipelineruns_enabledcom um valor detrue.data "ibm_resource_group" "group" { name = "default" } resource "ibm_resource_instance" "cd_instance" { name = "my_cd" service = "continuous-delivery" plan = "professional" location = "us-south" resource_group_id = data.ibm_resource_group.default_rg.id parameters = { platform_logging_pipelineruns_enabled = "true" } }
O que vem a seguir?
Agora que você criou com sucesso sua primeira instância do serviço “ Continuous Delivery ” e o recurso “toolchain” usando o Terraform em IBM Cloud, você pode escolher entre as seguintes tarefas:
- Excluindo uma instância de serviço do Continuous Delivery
- Usando uma cadeia de ferramentas
- Configurando integrações de ferramenta
- Trabalhando com pipelines Tekton
- Trabalhando com Delivery Pipeline Trabalhadores Privados
- Criando cadeias de ferramentas com o Git
- Incluindo o DevOps Insights em sua cadeia de ferramentas
- Gerenciando dados pessoais para Continuous Delivery
Para obter mais informações sobre os recursos e origens de dados do provedor IBM Cloud, consulte a documentação do Terraform Registry.