도구 통합에 대한 작업
DevOps Insights 2026년 8월 31일에 서비스 종료되어 중단될 예정입니다. Continuous Delivery 은 2027년 2월 12일에 au-syd, ca-tor, us-east 지역에서 중단될 예정입니다. 또한 해당 날짜를 기점으로 Code Risk Analyzer는 모든 지역에서 서비스가 중단될 예정입니다. 특정 지역에서 해당 기능을 실제로 사용하지 않는 경우, 해당 지역의 기능은 예정보다 일찍 중단될 수 있으며 새로운 인스턴스 등록이 더 이상 허용되지 않을 수 있습니다. 자세히 알아보기
콘솔, API 또는 Terraform을 사용하여 도구 통합을 추가, 업데이트 및 삭제할 수 있습니다. 오픈 도구 체인을 작성하는 동안 사용자는 개발, 배치 및 운영 태스크를 지원하는 도구 통합을 구성할 수 있습니다. 또는 도구 통합을 추가하고 구성하여 기존 도구 체인을 사용자 정의할 수도 있습니다.
금융 서비스를 위한 IBM Cloud 과의 도구 통합 이해
Continuous Delivery 및 도구 체인 서비스는 유효성 검증된 금융 서비스에 대해 IBM Cloud 으로 지정되지만 이 지정은 도구 체인에 통합할 수 있는 모든 도구에 적용되지는 않습니다.
다음 도구 및 도구 통합은 금융 서비스의 유효성이 검증되지 않습니다.
- Continuous Delivery 서비스의 Git Repos and Issue Tracking 컴포넌트입니다.
- 금융 서비스 유효성 검증됨으로 지정되지 않은 IBM Cloud 카탈로그의 서비스에 대한 도구 통합입니다.
- IBM Cloud에서 소유하고 운영하지 않는 써드파티, 고객 또는 도구 및 서비스에 대한 도구 통합입니다.
금융 서비스 유효성 검증 도구 및 도구 통합에 대한 자세한 정보는 도구 통합 을 참조하십시오.
IBM Cloud for Financial Services에 대한 자세한 정보는 IBM Cloud Framework for Financial Services 를 참조하십시오.
Continuous Delivery 서비스는 IBM Cloud for Financial Services와 동일한 지역에서 금융 서비스 검증(Financial Services Validated)을 받았습니다. 금융 서비스 검증(Financial Services Validated)으로 지정된 멀티존 리전에 대한 자세한 내용은 ' IBM Cloud 리소스를 승인된 멀티존 리전에만 배포하세요'를 참조하십시오.
콘솔을 사용하여 도구 통합 추가
콘솔을 사용하여 도구 체인에 도구 통합을 추가할 수 있습니다.
- IBM Cloud 콘솔에서 메뉴 아이콘
> 플랫폼 자동화 > 툴체인을 클릭합니다.
- 도구 체인 페이지에서 도구 체인을 클릭하여 해당 개요 페이지를 여십시오. 또는 사용자 앱의 앱 세부사항 페이지에서 도구 체인 이름을 클릭하십시오.
- 추가할 도구 연동 목록을 보려면 ‘추가’를 클릭하세요.
- 추가할 도구 통합을 클릭하십시오.
- 도구 통합을 구성하는 데 필요한 정보를 입력하십시오.
- 통합 작성을 클릭하여 도구 체인에 도구 통합을 추가하십시오.
API와 도구 통합 추가
API를 사용하여 도구 체인에 도구 통합을 추가할 수 있습니다.
-
IAM 베어러 토큰을 확보하십시오. 또는 SDK를 사용하는 경우 IAM API키를 얻고 환경 변수를 사용하여 클라이언트 옵션을 설정하십시오.
export CD_TOOLCHAIN_AUTH_TYPE=iam && \ export CD_TOOLCHAIN_APIKEY={iam_api_key} && \ export CD_TOOLCHAIN_URL={base_url} -
도구 통합을 작성할 도구 체인의 ID를 찾으십시오.
-
추가할 도구 통합에 해당하는
tool_type_id값 을 찾으십시오. -
대상 툴체인 내에 도구 통합 기능을 추가하십시오.
curl -X POST --location --header "Authorization: Bearer {iam_token}" \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --data '{ "name": "{tool_name}", "tool_type_id": "{tool_type_id}", "parameters": {tool_parameters} }' \ "{base_url}/toolchains/{toolchain_id}/tools"const CdToolchainV2 = require('@ibm-cloud/continuous-delivery/cd-toolchain/v2'); const toolchainService = CdToolchainV2.newInstance(); ... (async() => { const toolPrototypeModel = { toolchainId: {toolchain_id}, toolTypeId: {tool_type_id}, name: {tool_name}, parameters: {tool_parameters} }; const response = await toolchainService.createTool(toolPrototypeModel); })();import ( "github.com/IBM/continuous-delivery-go-sdk/cdtoolchainv2" ) ... toolchainClientOptions := &cdtoolchainv2.CdToolchainV2Options{} toolchainClient, err := cdtoolchainv2.NewCdToolchainV2UsingExternalConfig(toolchainClientOptions) createToolOptions := toolchainClient.NewCreateToolOptions({toolchain_id}, {tool_type_id}) createToolOptions.SetName({tool_name}) createToolOptions.SetParameters({tool_parameters}) tool, response, err := toolchainClient.CreateTool(createToolOptions)from ibm_continuous_delivery.cd_toolchain_v2 import CdToolchainV2 ... toolchain_service = CdToolchainV2.new_instance() tool = toolchain_service.create_tool( name = {tool_name}, toolchain_id = {toolchain_id}, tool_type_id = {tool_type_id}, parameters = {tool_parameters} )import com.ibm.cloud.continuous_delivery.cd_toolchain.v2.CdToolchain; import com.ibm.cloud.continuous_delivery.cd_toolchain.v2.model.*; ... CdToolchain toolchainService = CdToolchain.newInstance(); CreateToolOptions createToolOptions = new CreateToolOptions.Builder() .name({tool_name}) .parameters({tool_parameters}) .toolchainId({toolchain_id}) .toolTypeId({tool_type_id}) .build(); Response<ToolchainToolPost> response = toolchainService.createTool(createToolOptions).execute(); ToolchainToolPost tool = response.getResult();
다음 표에서는 이전 단계에서 사용된 각 변수를 나열하고 설명합니다.
| 가변 | 설명 |
|---|---|
{base_url} |
툴체인 API 엔드포인트 URL. 지원되는 값에 대한 자세한 내용은 엔드포인트 URL 를 참조하세요. |
{iam_api_key} |
IAM API 키. |
{iam_token} |
유효한 IAM 베어러 토큰입니다. |
{tool_name} |
도구 통합의 이름입니다. |
{tool_parameters} |
도구 통합을 작성하는 데 사용할 매개변수를 나타내는 고유 키-값 쌍입니다. 각 도구 통합에 대해 지원되는 매개변수에 대한 자세한 정보는 도구 통합 을 참조하십시오. |
{tool_type_id} |
도구 통합의 유형을 나타내는 고유한 짧은 이름입니다. 지원되는 값 목록은 도구 통합 을 참조하십시오. |
{toolchain_id} |
도구 통합을 작성할 도구 체인입니다. |
Terraform과의 도구 통합 추가
Terraform을 사용하여 도구 체인에 도구 통합을 추가할 수 있습니다.
-
Terraform CLI를 설치하고 Terraform을 위한 IBM Cloud 제공자 플러그인을 구성하려면 IBM Cloud®에서 Terraform 시작하기 튜토리얼을 따르십시오.
-
이름이
main.tf인 Terraform 구성 파일을 작성하십시오. 이 파일에서 HCL( HashiCorp Configuration Language)을 사용하여 리소스 인스턴스를 생성하는 구성을 추가하십시오. 이 구성 언어 사용에 대한 자세한 정보는 Terraform 문서를 참조하십시오.다음 예제는
ibm_cd_toolchain_tool_pipeline자원을 사용하여 Delivery Pipeline 도구 통합을 작성합니다. 여기서toolchain_id는 도구 통합을 작성할 도구 체인을 나타내는 GUID입니다.data "ibm_cd_toolchain" "cd_toolchain" { toolchain_id = {toolchain_id} } resource "ibm_cd_toolchain_tool_pipeline" "cd_pipeline" { toolchain_id = data.ibm_cd_toolchain.cd_toolchain.id parameters { name = "myPipeline" } }도구 통합 리소스에 대한 자세한 정보는 IBM Cloud Terraform 레지스트리에서 지원되는 도구 통합 리소스의 전체 목록을 참조하십시오.
-
Terraform CLI를 초기화하십시오.
terraform init -
Terraform 실행 플랜을 작성하십시오. 이 계획은 도구 통합을 작성하기 위해 실행해야 하는 모든 조치를 요약합니다.
terraform plan -
Terraform 실행 계획을 적용합니다. Terraform은 도구 통합을 작성하는 데 필요한 모든 조치를 수행합니다.
terraform apply
콘솔을 사용하여 도구 통합 업데이트
툴체인을 생성할 때 툴 통합 설정을 연기한 경우, 해당 카드에 ‘구성’ 버튼이 표시됩니다. 툴체인을 생성할 때 툴 연동을 구성한 경우, 콘솔을 사용하여 구성 설정을 업데이트할 수 있습니다.
- IBM Cloud 콘솔에서 메뉴 아이콘
> 플랫폼 자동화 > 툴체인을 클릭합니다.
- '툴체인' 페이지에서 업데이트하려는 도구 통합이 포함된 툴체인을 클릭하여 해당 툴체인의 '개요' 페이지를 엽니다. 또는 사용자 앱의 앱 세부사항 페이지에서 도구 체인 이름을 클릭하십시오.
- 처음으로 도구 통합을 구성해야 하는 경우에는 해당 카드에서 구성을 클릭하십시오.
- 도구 통합 구성을 완료하면 통합 저장을 클릭하십시오.
- 도구 통합의 구성을 업데이트해야 하는 경우 조치 아이콘
> 구성을 클릭하십시오.
- 설정 업데이트를 완료하면 통합 저장을 클릭하십시오.
API를 사용하여 도구 통합 업데이트
툴체인을 생성할 때 툴 연동을 구성한 경우, API를 통해 구성 설정을 업데이트할 수 있습니다.
-
IAM 베어러 토큰을 확보하십시오. 또는 SDK를 사용하는 경우 IAM API키를 얻고 환경 변수를 사용하여 클라이언트 옵션을 설정하십시오.
export CD_TOOLCHAIN_AUTH_TYPE=iam && \ export CD_TOOLCHAIN_APIKEY={iam_api_key} && \ export CD_TOOLCHAIN_URL={base_url} -
도구 통합이 존재하는 도구 체인의 ID를 찾으십시오.
-
도구 체인의 ID를 사용하여 도구 통합의 ID를 찾으십시오.
-
대상 도구 체인 내에서 도구 통합을 업데이트하십시오.
curl -X PATCH --location --header "Authorization: Bearer {iam_token}" \ --header "Accept: application/json" \ --header "Content-Type: application/merge-patch+json" \ --data '{ "name": "{new_tool_name}", "parameters": {new_tool_parameters} }' \ "{base_url}/toolchains/{toolchain_id}/tools/{tool_id}"const CdToolchainV2 = require('@ibm-cloud/continuous-delivery/cd-toolchain/v2'); const toolchainService = CdToolchainV2.newInstance(); ... (async() => { const toolPatchModel = { toolchainId: {toolchain_id}, toolId: {tool_id}, name: {new_tool_name}, parameters: {new_tool_parameters} }; const response = await toolchainService.updateTool(toolPatchModel); })();import ( "github.com/IBM/continuous-delivery-go-sdk/cdtoolchainv2" ) ... toolchainClientOptions := &cdtoolchainv2.CdToolchainV2Options{} toolchainClient, err := cdtoolchainv2.NewCdToolchainV2UsingExternalConfig(toolchainClientOptions) toolPatchModel := map[string]interface{}{ "name": {new_tool_name}, "parameters": {new_tool_parameters}, } updateToolOptions := toolchainClient.NewUpdateToolOptions({toolchain_id}, {tool_id}, toolPatchModel) tool, response, err := toolchainClient.UpdateTool(updateToolOptions)from ibm_continuous_delivery.cd_toolchain_v2 import CdToolchainV2 ... toolchain_service = CdToolchainV2.new_instance() tool = toolchain_service.update_tool( toolchain_id = {toolchain_id}, tool_id = {tool_id}, toolchain_tool_prototype_patch = { "name": {new_tool_name}, "parameters": {new_tool_parameters} } )import com.ibm.cloud.continuous_delivery.cd_toolchain.v2.CdToolchain; import com.ibm.cloud.continuous_delivery.cd_toolchain.v2.model.*; ... CdToolchain toolchainService = CdToolchain.newInstance(); HashMap<String,Object> toolchainToolPrototypePatch = new HashMap<>(); toolchainToolPrototypePatch.put("name", {new_tool_name}); toolchainToolPrototypePatch.put("parameters", {new_tool_parameters}); UpdateToolOptions updateToolOptions = new UpdateToolOptions.Builder() .toolchainId({toolchain_id}) .toolId({tool_id}) .toolchainToolPrototypePatch(toolchainToolPrototypePatch) .build(); Response<ToolchainToolPatch> response = toolchainService.updateTool(updateToolOptions).execute(); ToolchainToolPatch tool = response.getResult();
다음 표에서는 이전 단계에서 사용된 각 변수를 나열하고 설명합니다.
| 가변 | 설명 |
|---|---|
{base_url} |
툴체인 API 엔드포인트 URL, 예: https://api.us-south.devops.cloud.ibm.com/toolchain/v2. 이 엔드포인트에 대한 자세한 내용은 URL, 값 목록을 포함하여 엔드포인트 URL 를 참조하세요. |
{iam_api_key} |
IAM API 키. |
{iam_token} |
유효한 IAM 베어러 토큰입니다. |
{new_tool_name} |
도구 통합의 새 이름입니다. |
{new_tool_parameters} |
도구 통합을 업데이트하는 데 사용할 매개변수를 나타내는 고유 키-값 쌍입니다. 각 도구 통합에 대한 매개변수 목록을 보려면 도구 통합 을 참조하십시오. |
{tool_id} |
업데이트하려는 도구 통합의 ID입니다. |
{toolchain_id} |
도구 통합이 존재하는 도구 체인의 ID입니다. |
Terraform과의 도구 통합 업데이트
툴체인을 생성할 때 툴 연동을 구성한 경우, Terraform을 사용하여 구성 설정을 업데이트할 수 있습니다.
-
IBM Cloud에 대한 튜토리얼에 따라 Terraform CLI를 설치하고 Terraform에 대한 IBM Cloud 제공자 플러그인을 구성하십시오.
-
도구 통합을 작성하는 데 사용한 Terraform 구성 파일을 사용하십시오. Terraform을 사용하여 도구 통합을 작성하지 않은 경우
terraform import를 실행하여 다른 도구 통합을 작성하지 않도록 하십시오. 이 구성 언어 사용에 대한 자세한 정보는 Terraform 문서를 참조하십시오.다음 예제는
ibm_cd_toolchain_tool_pipeline자원을 사용하여 기존 Delivery Pipeline 도구 통합의 이름을 업데이트합니다. 여기서toolchain_id은 도구 통합이 존재하는 도구 체인을 나타내는 GUID입니다.data "ibm_cd_toolchain" "cd_toolchain" { toolchain_id = {toolchain_id} } resource "ibm_cd_toolchain_tool_pipeline" "cd_pipeline" { toolchain_id = data.ibm_cd_toolchain.cd_toolchain.id parameters { name = "myUpdatedPipelineName" } }도구 통합 리소스에 대한 자세한 정보는 IBM Cloud Terraform 레지스트리에서 지원되는 도구 통합 리소스의 전체 목록을 참조하십시오.
-
Terraform CLI를 초기화하십시오.
terraform init -
Terraform 실행 플랜을 작성하십시오. 이 계획은 도구 통합을 수정하기 위해 실행해야 하는 모든 조치를 요약합니다.
terraform plan -
Terraform 실행 계획을 적용합니다. Terraform은 도구 통합을 수정하는 데 필요한 모든 조치를 수행합니다.
terraform apply
콘솔을 사용하여 도구 통합 삭제
콘솔을 사용하여 도구 체인에서 도구 통합을 삭제할 수 있습니다. 도구 체인에서 도구 통합을 삭제하는 경우 삭제를 실행 취소할 수 없습니다.
- IBM Cloud 콘솔에서 메뉴 아이콘
> 플랫폼 자동화 > 툴체인을 클릭합니다.
- 도구 체인 페이지에서 도구 체인을 클릭하여 해당 개요 페이지를 여십시오. 또는 사용자 앱의 앱 세부사항 페이지에서 도구 체인 이름을 클릭하십시오.
- 삭제할 도구 통합에서 조치 아이콘
> 삭제를 클릭하십시오.
- 삭제를 클릭하여 확인하십시오.
API와의 도구 통합 삭제
API를 사용하여 도구 체인에서 도구 통합을 삭제할 수 있습니다. 도구 체인에서 도구 통합을 삭제하는 경우 삭제를 실행 취소할 수 없습니다.
-
IAM 베어러 토큰을 확보하십시오. 또는 SDK를 사용하는 경우 IAM API키를 얻고 환경 변수를 사용하여 클라이언트 옵션을 설정하십시오.
export CD_TOOLCHAIN_AUTH_TYPE=iam && \ export CD_TOOLCHAIN_APIKEY={iam_api_key} && \ export CD_TOOLCHAIN_URL={base_url} -
도구 통합이 존재하는 도구 체인의 ID를 찾으십시오.
-
도구 체인의 ID를 사용하여 도구 통합의 ID를 찾으십시오.
-
대상 도구 체인 내에서 도구 통합을 삭제하십시오.
curl -X DELETE --location --header "Authorization: Bearer {iam_token}" \ "{base_url}/toolchains/{toolchain_id}/tools/{tool_id}"const CdToolchainV2 = require('@ibm-cloud/continuous-delivery/cd-toolchain/v2'); const toolchainService = CdToolchainV2.newInstance(); ... (async() => { const response = await toolchainService.deleteTool({ toolchainId: {toolchain_id}, toolId: {tool_id} }); })();import ( "github.com/IBM/continuous-delivery-go-sdk/cdtoolchainv2" ) ... toolchainClientOptions := &cdtoolchainv2.CdToolchainV2Options{} toolchainClient, err := cdtoolchainv2.NewCdToolchainV2UsingExternalConfig(toolchainClientOptions) deleteToolOptions := toolchainClient.NewDeleteToolOptions({toolchain_id}, {tool_id}) response, err := toolchainClient.DeleteTool(deleteToolOptions)from ibm_continuous_delivery.cd_toolchain_v2 import CdToolchainV2 ... toolchain_service = CdToolchainV2.new_instance() response = toolchain_service.delete_tool( toolchain_id = {toolchain_id}, tool_id = {tool_id} )import com.ibm.cloud.continuous_delivery.cd_toolchain.v2.CdToolchain; import com.ibm.cloud.continuous_delivery.cd_toolchain.v2.model.*; ... CdToolchain toolchainService = CdToolchain.newInstance(); DeleteToolOptions deleteToolOptions = new DeleteToolOptions.Builder() .toolchainId({toolchain_id}) .toolId({tool_id}) .build(); Response<Void> response = toolchainService.deleteTool(deleteToolOptions).execute();
다음 표에서는 이전 단계에서 사용된 각 변수를 나열하고 설명합니다.
| 가변 | 설명 |
|---|---|
{base_url} |
툴체인 API 엔드포인트 URL. 값 목록을 포함하여 이 엔드포인트에 대한 자세한 내용은 URL, 값 목록은 엔드포인트 URL 를 참조하세요. |
{iam_api_key} |
IAM API 키. |
{iam_token} |
유효한 IAM 베어러 토큰입니다. |
{tool_id} |
삭제하려는 도구 통합의 ID입니다. |
{toolchain_id} |
도구 통합이 존재하는 도구 체인의 ID입니다. |
Terraform과의 도구 통합 삭제
Terraform을 사용하여 도구 체인에서 도구 통합을 삭제할 수 있습니다. 도구 체인에서 도구 통합을 삭제하는 경우 삭제를 실행 취소할 수 없습니다.
-
Terraform CLI를 설치하고 Terraform을 위한 IBM Cloud 제공자 플러그인을 구성하려면 IBM Cloud에서 Terraform 시작하기 튜토리얼을 따르십시오.
-
도구 통합을 작성하는 데 사용한 Terraform 구성 파일을 사용하십시오. 구성 파일에서 도구 통합 자원을 주석 처리하거나 제거하십시오.
-
Terraform CLI를 초기화하십시오.
terraform init -
Terraform 실행 플랜을 작성하십시오. 이 계획은 도구 통합을 삭제하기 위해 실행해야 하는 모든 조치를 요약합니다.
terraform plan -
Terraform 실행 계획을 적용합니다. Terraform은 도구 통합을 삭제하는 데 필요한 모든 조치를 수행합니다.
terraform apply
도구 통합
Continuous Delivery 서비스는 여러 도구 통합을 지원합니다.
Continuous Delivery 및 도구 체인 서비스는 유효성 검증된 금융 서비스에 대해 IBM Cloud 으로 지정되지만 이 지정은 도구 체인에 통합할 수 있는 모든 도구에 적용되지는 않습니다. 다음 표는 IBM Cloud 툴체인과 함께 사용될 때 금융 서비스 검증을 위해 Continuous Delivery 으로 지정된 툴 통합 및 툴을 나타냅니다.
Continuous Delivery 툴체인 API 를 사용하여 툴 통합을 생성하는 경우, API 요청에서 tool_type_id 매개변수를 다음 표에 나열된 툴 통합의 툴 유형 ID 값으로 설정하십시오.
| 도구 통합 | 도구 유형 ID | 유효성 검증된 금융 서비스 |
|---|---|---|
| App Configuration | 애플리케이션 구성 | |
| Artifactory | Artifactory | |
| Bitbucket | 비트버킷킷 | |
| Delivery Pipeline | 파이프라인(pipeline) | |
| Delivery Pipeline Private Worker | 개인용 작업자 | |
| DevOps Insights | 드레인 브로커 | |
| Event Notifications | 이벤트 알림 | |
| Git Repos and Issue Tracking | 호스티지티 | |
| 클라우드 Object Storage | 클라우드객체저장소 | |
| GitHub | 지통됨 | |
| GitLab | GitLab | |
| HashiCorp Vault | 해시코르pvault | |
| Jenkins | jenkins | |
| JIRA | JIRA | |
| Key Protect | 키 보호 | |
| Nexus | Nexus | |
| 기타 도구 | 사용자 정의 도구 | |
| PagerDuty | PagerDuty | |
| Rational Team Concert | 합리성 팀 콘서트 | |
| Sauce Labs | 소세브 | |
| Secrets Manager | Secrets Manager | |
| Slack | slack | |
| SonarQube | sonarqube |
IBM Cloud Public에서 소스 코드로 개발을 시작하려는 경우, Git Repos and Issue Tracking을 구성하기 전에 GitHub 도구 통합 또는 Delivery Pipeline 도구 통합을 구성하십시오.