이 페이지는 Apigee 및 Apigee Hybrid에 적용됩니다.
Apigee Edge 문서 보기
VS Code에서 Apigee를 사용하여 프로그래밍 가능한 API 프록시를 개발하고 테스트합니다. 그런 후 다음 섹션에 설명된 대로 API 프록시 구성 환경의 보관 파일을 Apigee 통합 테스트 및 프로덕션 환경에 배포합니다.
Apigee 환경에서 보관 파일 배포 사용 설정
보관 파일을 배포하려면 먼저 Apigee 환경에서 보관 파일 배포를 사용 설정해야 합니다.
다음 섹션의 설명대로 보관 파일 배포를 사용 설정합니다.
기본 Apigee UI
Apigee 환경에서 보관 파일 배포를 사용 설정하려면 프로비저닝 마법사 외부에 Apigee 환경을 만들 때 배포 유형에서 보관 파일을 선택합니다.
Apigee API
API를 사용하여 환경을 만들 때 보관 파일 배포를 사용 설정하려면 요청 본문에서 deploymentType
을 ARCHIVE
로 설정합니다.
예를 들면 다음과 같습니다.
curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments" \ -X POST \ -H "Authorization: Bearer $TOKEN" \ -H "Content-type: application/json" \ -d '{ "name": "integration-test", "description": "Integration test environment", "displayName" : "Integration test", "deploymentType" : "ARCHIVE" }'
$TOKEN
를 OAuth 2.0 액세스 토큰 가져오기에 설명된 대로 OAuth 2.0 액세스 토큰으로 설정합니다. 이 예시에서 사용된 curl
옵션에 대한 자세한 내용은 curl 사용을 참조하세요. 사용된 환경 변수에 대한 설명은 Apigee API 요청에 대한 환경 변수 설정을 참조하세요.
다음은 응답의 예시입니다.
{ "name": "organizations/$ORG/operations/11b1ad1c-2371-473d-bcd4-f621f8d98ef7", "metadata": { "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata", "operationType": "INSERT", "targetResourceName": "organizations/$ORG/environments/integration-test", "state": "IN_PROGRESS" } }
작업 상태를 확인할 수 있습니다. 예를 들면 다음과 같습니다.
curl https://apigee.googleapis.com/v1/organizations/$ORG/operations/11b1ad1c-2371-473d-bcd4-f621f8d98ef7 / -H "Authorization: Bearer $TOKEN"
다음은 응답의 예시입니다. 작업 상태가 FINISHED
이고 환경 상태가 ACTIVE
로 설정됩니다.
{ "name": "organizations/$ORG/operations/11b1ad1c-2371-473d-bcd4-f621f8d98ef7", "metadata": { "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata", "operationType": "INSERT", "targetResourceName": "organizations/$ORG/environments/integration-test", "state": "FINISHED" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.apigee.v1.Environment", "name": "integration-test", "description": "Integration test environment", "createdAt": "1615553880084", "lastModifiedAt": "1615553881911", "displayName": "Integration test", "state": "ACTIVE", "deploymentType": "ARCHIVE" } }
API에 대한 자세한 내용은 환경 API 만들기를 참조하세요.
Apigee 환경에 보관 파일 배포
Apigee 환경에 보관 파일을 배포하려면 다음 gcloud
명령어를 사용합니다.
gcloud beta apigee archives deploy \ --environment=$ENV \ [--organization=$ORG] \ [--source=$SOURCE] \ [--labels $KEY=$VALUE[,$KEY2=$VALUE2,$KEY3=$VALUE3,...]]
--environment
플래그를 사용하여 보관 파일을 배포하려는 Apigee 환경을 지정해야 합니다. Apigee 환경에 보관 파일 배포를 사용 설정해야 합니다.
자세한 내용은 gcloud beta apigee 보관 파일 배포를 참조하세요.
기본적으로 보관 파일은 다음 항목에 배포됩니다.
gcloud
에 구성된 현재 활성 프로젝트와 연결된 조직현재 gcloud 구성을 보려면
gcloud config list
를 실행합니다. 조직을 지정하려면--organization
플래그를 사용합니다.- 현재 작업 디렉터리에서
보관 파일의src/main/apigee
루트 디렉터리가 현재 작업 디렉터리가 아닌 다른 위치에 있다면--source
플래그를 사용하여 보관 파일의 루트 디렉터리 위치를 지정합니다. Apigee 작업공간 구조 이해도 참조하세요.
원하는 경우 --labels
플래그를 사용하여 보관 파일 배포에 최대 64개의 커스텀 라벨 키-값 쌍을 추가할 수 있습니다. 예를 들어 빌드 번호를 사용해 보관 파일에 라벨을 지정할 수 있습니다. 보관 파일 배포를 나열하면 라벨이 표시됩니다. 키 값이 다음 가이드라인을 준수해야 합니다.
- 최대 길이 63자(영문 기준)
- 최대 크기 128바이트
- UTF-8 인코딩
- Perl 호환 정규 표현식(PCRE) 준수:
[\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}
백그라운드에서 gcloud
명령어가 Google Cloud에서 Apigee에 배포할 때 다음 단계를 수행합니다.
src/main/apigee
Apigee 작업공간 디렉터리의 ZIP 파일을 만듭니다. 자세한 내용은 Apigee 작업공간 구조 이해를 참조하세요.- 다음과 같이 Google Cloud에서 Apigee에 보관 파일을 배포합니다.
- generateUploadUrl API를 사용하여 현재 Apigee 조직과 연결된 프로젝트의 Google Cloud Storage 버킷에 대해 서명된 URL을 생성합니다.
- 서명된 URL을 사용하여 보관 파일 ZIP 파일을 Cloud Storage 버킷에 업로드합니다.
- Cloud Storage 버킷에 현재 스테이징된 보관 파일을 Google Cloud에서 Apigee에 배포합니다. 보관 파일 배포 API를 사용합니다.
요청 예
다음 예시에서는 현재 디렉터리에서 src/main/apigee
의 ZIP 보관 파일을 만들어 지정된 Apigee 환경에 배포합니다.
gcloud beta apigee archives deploy --environment=$ENV
다음 예시는 gcloud
에 대해 구성된 현재 활성 프로젝트와 연관되지 않은 조직을 지정하는 방법을 보여줍니다.
gcloud beta apigee archives deploy --environment=$ENV --organization=$ORG
다음 예시에서는 myarchive
아래의 src/main/apigee
디렉터리에서 ZIP 보관 파일을 만들어 지정된 Apigee 환경에 배포합니다.
gcloud beta apigee archives deploy --environment=$ENV --source=/myarchive
다음 예시에서는 status
및 build_id
라벨을 보관 파일 배포에 추가합니다.
gcloud beta apigee archives deploy --environment=$ENV --labels=status=released,build=210315
응답 예시
다음은 응답의 예시입니다.
Using Apigee organization 'myorg' Waiting for operation [b64c2665-b5ac-43cc-9e2d-232e8895c2ed] to complete...done.
보관 파일 배포 상태 확인
보관 파일 배포 상태를 확인하려면 gcloud alpha apigee operations 명령어를 사용합니다.
다음 예시는 버전 ID가 439fa3f7-6aa4-42ad-8b12-3ca912c75d5c
인 작업의 보관 파일 배포가 IN_PROGRESS
상태임을 보여줍니다.
gcloud alpha apigee operations describe b64c2665-b5ac-43cc-9e2d-232e8895c2ed
다음은 응답의 예시입니다. state
가 IN_PROGRESS
로 설정된다는 점에 주목하세요.
Using Apigee organization 'myorg' done: true metadata: '@type': type.googleapis.com/google.cloud.apigee.v1.OperationMetadata operationType: INSERT state: IN_PROGRESS targetResourceName: uri name: organizations/myorg/operations/b64c2665-b5ac-43cc-9e2d-232e8895c2ed organization: myorg response: '@type': type.googleapis.com/google.cloud.apigee.v1.CanaryEvaluation control: 1-5-0-20210319-071117-ghq74 endTime: '2021-03-20T06:15:44.329363950Z' metricLabels: env: test location: us-central1 name: uri startTime: '2021-03-20T06:14:44.306534584Z' treatment: 1-5-0-20210319-190954-if0wk verdict: NONE uuid: b64c2665-b5ac-43cc-9e2d-232e8895c2ed
작업이 완료되면 state
가 FINISHED
로 설정됩니다.
환경의 모든 보관 파일 배포 나열
다음 섹션의 설명대로 환경의 모든 보관 파일 배포를 나열합니다.
gcloud
Google Cloud에서 Apigee의 모든 보관 파일 배포를 나열하려면 다음 gcloud
명령어를 사용합니다.
gcloud beta apigee archives list --environment=$ENV
--environment
플래그를 사용하여 보관 파일 배포를 확인할 Apigee 환경을 지정해야 합니다.
Apigee 환경에서 보관 파일 배포의 세부정보를 확인할 수 있어야 합니다.
자세한 내용은 gcloud beta apigee 보관 파일 목록을 참조하세요.
다음은 응답의 예시입니다.
Using Apigee organization 'myorg' ARCHIVE ID ENVIRONMENT DEPLOYED AT LABELS OPERATION STATUS pzfbs8uidbdv224joz myorg 2021-03-10 11:21:29 status=released,build=210315 Deployed fb4r8log2gm63r3gtu myorg 2021-03-05 13:40:30 vrytwbhso558oil53m myorg 2021-03-03 21:20:53
Apigee API
환경의 보관 파일 배포를 나열하려면 다음 API에 GET 요청을 실행합니다. https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments
예를 들면 다음과 같습니다.
curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments" \ -H "Authorization: Bearer $TOKEN"
$TOKEN
를 OAuth 2.0 액세스 토큰 가져오기에 설명된 대로 OAuth 2.0 액세스 토큰으로 설정합니다. 이 예시에서 사용된 curl
옵션에 대한 자세한 내용은 curl 사용을 참조하세요. 사용된 환경 변수에 대한 설명은 Apigee API 요청에 대한 환경 변수 설정을 참조하세요.
다음은 응답의 예시입니다.
{ "archiveDeployments": [ { "name": "organizations/myorg/environments/integration-test/archiveDeployments/pzfbs8uidbdv224joz", "labels": { "status": "released", "build": "210315" }, "createdAt": "1615821232451727", "updatedAt": "1615821232451727", "operation": "organizations/apigee-docs-c/operations/b64c2665-b5ac-43cc-9e2d-232e8895c2ed" }, { "name": "organizations/myorg/environments/integration-test/archiveDeployments/fb4r8log2gm63r3gtu", "createdAt": "1615819281858447", "updatedAt": "1615819281858447", "operation": "organizations/apigee-docs-c/operations/71549b9c-4493-41b6-9838-c0ad5b1b3181" }, { "name": "organizations/myorg/environments/integration-test/archiveDeployments/vrytwbhso558oil53m", "createdAt": "1615578337832207", "updatedAt": "1615578337832207", "operation": "organizations/apigee-docs-c/operations/a2eb50b5-f276-4de4-96a3-72fac3d4c05e" } ] }
보관 파일 배포 세부정보 보기
다음 섹션의 설명대로 보관 파일 배포의 세부정보를 확인합니다.
gcloud
Google Cloud에서 Apigee의 보관 파일 배포 세부정보를 보려면 다음 gcloud
명령어를 사용합니다.
gcloud beta apigee archives describe $ID --environment=$ENV
다음을 지정해야 합니다.
- 보관 파일 배포 버전의 ID입니다.
--environment
플래그를 사용하여 보관 파일 배포를 확인할 Apigee 환경입니다. Apigee 환경에 보관 파일 배포를 사용 설정해야 합니다.
자세한 내용은 gcloud beta apigee 보관 파일 설명을 참조하세요.
예:
gcloud apigee archives describe pzfbs8uidbdv224joz --environment=$ENV
다음은 응답의 예시입니다.
Using Apigee organization 'myorg' createdAt: '1615578337832207' labels: status: 'released' build: '210315' name: organizations/myorg/environments/$ENV/archiveDeployments/pzfbs8uidbdv224joz operation: organizations/myorg/operations/b64c2665-b5ac-43cc-9e2d-232e8895c2ed operationStatus: Deployed updatedAt: '1615821232451727'
Apigee API
보관 파일 배포의 세부정보를 보려면 다음 API에 GET 요청을 실행합니다. https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments/$ID
보관 파일 배포 버전의 ID를 전달해야 합니다. Apigee 환경의 보관 파일 배포 버전 ID 목록을 보려면 환경의 모든 보관 파일 배포 나열을 참조하세요.
예를 들면 다음과 같습니다.
curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments/pzfbs8uidbdv224joz" \ -X GET \ -H "Authorization: Bearer $TOKEN"
$TOKEN
를 OAuth 2.0 액세스 토큰 가져오기에 설명된 대로 OAuth 2.0 액세스 토큰으로 설정합니다. 이 예시에서 사용된 curl
옵션에 대한 자세한 내용은 curl 사용을 참조하세요. 사용된 환경 변수에 대한 설명은 Apigee API 요청에 대한 환경 변수 설정을 참조하세요.
다음은 응답의 예시입니다.
{ "name": "organizations/myorg/environments/integration-test/archiveDeployments/pzfbs8uidbdv224joz", "labels": { "status": "released", "build": "210315" }, "createdAt": "1615578337832207", "updatedAt": "1615821232451727", "operation": "organizations/apigee-docs-c/operations/b64c2665-b5ac-43cc-9e2d-232e8895c2ed" }
보관 파일 배포의 라벨 업데이트
다음 섹션의 설명대로 보관 파일 배포의 라벨을 업데이트합니다.
gcloud
Google Cloud에서 Apigee의 보관 파일 배포 라벨을 업데이트하려면 다음 gcloud
명령어를 사용합니다.
gcloud beta apigee archives update [$ID] --environment=$ENV [--update-labels=$KEY=$VALUE[,$KEY2=$VALUE2...$KEYn=$VALUEn]], [--clear-labels | --remove-labels=$KEY[,$KEY2...$KEYn]]
다음을 지정해야 합니다.
- 보관 파일 배포 버전의 ID입니다.
--environment
플래그를 사용하여 보관 파일 배포를 확인할 Apigee 환경입니다. Apigee 환경에 보관 파일 배포를 사용 설정해야 합니다.- 다음 플래그 중 하나 이상:
플래그 설명 --clear-labels
모든 라벨을 삭제합니다. --update-labels
도 지정하면--clear-labels
가 먼저 적용됩니다.--remove-labels
가 지정되면 이 플래그를 지정할 수 없습니다.--remove-labels
지정된 라벨을 삭제합니다. --update-labels
도 지정하면 먼저 적용됩니다.--clear-labels
가 지정되면 이 플래그를 지정할 수 없습니다.--update-labels
라벨을 업데이트합니다. 라벨이 있으면 해당 값이 수정되고 그렇지 않으면 새 라벨이 생성됩니다. 라벨을 업데이트하기 전 --remove-labels
또는--clear-labels
플래그를 조합하여 하위 집합 또는 모든 라벨을 삭제합니다.
자세한 내용은 gcloud beta apigee 보관 파일 업데이트를 참조하세요.
예:
gcloud apigee archives update pzfbs8uidbdv224joz --environment=$ENV \ --clear-labels --update-labels=status=released,build=210315,tier=1
다음은 응답의 예시입니다.
Using Apigee organization `myorg` createdAt: 2020-04-04T04:04:04.004Z labels: status: released, build: 210315, tier: 1 name: organizations/apigee-docs-c/environments/dev/archiveDeployments/pzfbs8uidbdv224joz operation: organizations/apigee-docs-c/operations/bf587121-8b5c-4897-9d8f-9b1ef0cb06ca updatedAt: '1633450432067431'
Apigee API
Google Cloud에서 Apigee의 보관 파일 배포 라벨을 업데이트하려면 다음 API에 PATCH 요청을 실행합니다.
https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments/$ID
보관 파일 배포 버전의 ID를 전달해야 합니다. Apigee 환경의 보관 파일 배포 버전 ID 목록을 보려면 환경의 모든 보관 파일 배포 나열을 참조하세요.
보관 파일에 추가할 모든 라벨을 요청 본문으로 전달합니다. 전달하는 라벨이 현재 라벨 집합을 덮어쓰므로 요청 본문에서 라벨을 생략해 일부 라벨을 삭제하거나 빈 목록을 전달하여 모든 라벨을 삭제할 수 있습니다.
예:
curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments/$ID" \ -X PATCH \ -H "Authorization: Bearer $TOKEN" \ -d '{ "labels": { "status" : "released", "build" : "210315" } }'
$TOKEN
를 OAuth 2.0 액세스 토큰 가져오기에 설명된 대로 OAuth 2.0 액세스 토큰으로 설정합니다. 이 예시에서 사용된 curl
옵션에 대한 자세한 내용은 curl 사용을 참조하세요. 사용된 환경 변수에 대한 설명은 Apigee API 요청에 대한 환경 변수 설정을 참조하세요.
다음은 응답의 예시입니다.
{ "name": "organizations/myorg/environments/integration-test/archiveDeployments/pzfbs8uidbdv224joz", "labels": { "status": "released", "build": "210315" }, "createdAt": "1615578337832207", "updatedAt": "1615821232451727", "operation": "organizations/apigee-docs-c/operations/b64c2665-b5ac-43cc-9e2d-232e8895c2ed" }
보관 파일 배포가 포함된 Apigee 환경 삭제
보관 파일 배포가 포함된 Apigee 환경을 삭제하려면 다음 안내를 따르세요.
- 임시 폴더에서 다음 디렉터리 구조를 만듭니다. 여기서 $ENV는 삭제할 환경의 이름입니다.
예를 들면 다음과 같습니다.
mkdir -p /$TEMP/archive/src/main/apigee/environments/$ENV
deployments.json
파일을 디렉터리에 추가합니다. 예를 들면 다음과 같습니다.touch /$TEMP/archive/src/main/apigee/environments/$ENV/deployments.json
- 다음과 같이
deployments.json
을 업데이트하여 빈proxies
배열을 포함합니다.{ "proxies" : [] }
- 디렉터리(cd)를
$TEMP/archive
폴더로 변경합니다.cd $TEMP/archive
다음 사항에 따라 다르게 조치합니다.
- 삭제할 Apigee 환경에 보관 파일 배포
gcloud beta apigee archives deploy --environment=$ENV
- Apigee 환경 삭제
보관 파일 배포 버전 삭제
다음 섹션의 설명대로 보관 파일의 배포 버전을 삭제합니다.
gcloud
Google Cloud에서 Apigee의 보관 파일 배포 버전을 삭제하려면 다음 gcloud
명령어를 사용합니다.
gcloud apigee archives delete $ID --environment=$ENV
다음을 지정해야 합니다.
- 삭제하려는 키의 ID입니다.
--environment
플래그를 사용하여 보관 파일 배포를 확인할 Apigee 환경입니다. Apigee 환경에 보관 파일 배포를 사용 설정해야 합니다.
예:
gcloud apigee archives delete fb4r8log2gm63r3gtu --environment=dev
다음은 응답의 예시입니다.
Archive deployment revision "fb4r8log2gm63r3gtu" deleted
Apigee API
Google Cloud의 Apigee에서 보관 파일 배포 버전을 삭제하려면 다음 API에 대해 DELETE 요청을 수행합니다. https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments/$ID
.
삭제하려는 보관 파일 배포 버전의 ID를 전달해야 합니다. 특정 환경의 보관 파일 배포 버전 ID 목록을 보려면 환경의 모든 보관 파일 배포 나열을 참조하세요.
예:
curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments/$ID" \ -X DELETE \ -H "Authorization: Bearer $TOKEN" \
$TOKEN
를 OAuth 2.0 액세스 토큰 가져오기에 설명된 대로 OAuth 2.0 액세스 토큰으로 설정합니다. 이 예시에서 사용된 curl
옵션에 대한 자세한 내용은 curl 사용을 참조하세요. 사용된 환경 변수에 대한 설명은 Apigee API 요청에 대한 환경 변수 설정을 참조하세요.
다음은 응답의 예시입니다.
{}