다음을 통해 공유


Bicep CLI 명령

이 문서에서는 Bicep CLI에서 사용할 수 있는 명령에 대해 설명합니다. Azure CLI를 사용하거나 Bicep CLI 명령을 직접 호출하여 이러한 명령을 실행할 수 있습니다. 각 방법마다 고유한 설치 프로세스가 필요합니다. 설치에 대한 자세한 내용은 Azure CLIAzure PowerShell을 참조하세요.

이 지침은 Azure CLI에서 명령을 실행하는 방법을 보여 줍니다. Azure CLI에서 명령을 실행할 때 .로 시작합니다 az. Azure CLI를 사용하지 않는 경우 각 CLI를 시작할 때 없이 az 명령을 실행합니다. 예를 들어, az bicep buildbicep build가 되고 az bicep versionbicep --version이 됩니다.

build

build 명령은 Bicep 파일을 ARM 템플릿(JSON Azure Resource Manager 템플릿)으로 변환합니다. 일반적으로 이 명령은 Bicep 파일을 배포할 때 자동으로 실행되므로 실행할 필요가 없습니다. Bicep 파일에서 만든 JSON ARM 템플릿을 보려면 수동으로 실행합니다.

다음 Bicep 기능을 사용하면 언어 버전 2.0 코드를 자동으로 생성할 수 있습니다.

다음 예제에서는 main.bicep이라는 Bicep 파일을 main.json이라는 ARM 템플릿으로 변환합니다. 새 파일은 Bicep 파일과 동일한 디렉터리에 만들어집니다.

az bicep build --file main.bicep

다음 예제에서는 main.json 다른 디렉터리에 저장합니다.

az bicep build --file main.bicep --outdir c:\jsontemplates

다음 예제에서는 만들 파일의 이름과 위치를 지정합니다.

az bicep build --file main.bicep --outfile c:\jsontemplates\azuredeploy.json

stdout에 파일을 인쇄하려면 다음을 사용합니다.

az bicep build --file main.bicep --stdout

Bicep 파일에 외부 레지스트리를 참조하는 모듈이 포함되어 있으면 명령이 build 자동으로 호출 restore됩니다. 이 restore 명령은 레지스트리에서 파일을 가져오고 로컬 캐시에 저장합니다.

참고 항목

restore 명령은 캐시를 새로 고치지 않습니다. 자세한 내용은 복원을 참조하세요.

restore를 자동으로 호출하지 않으려면 --no-restore 스위치를 사용합니다.

az bicep build --no-restore <bicep-file>

외부 모듈 중 하나가 캐시되어 있지 않으면 --no-restore 스위치를 사용한 빌드 프로세스가 실패합니다.

The module with reference "br:exampleregistry.azurecr.io/bicep/modules/storage:v1" hasn't been restored.

이 오류가 발생하면 스위치 없이 --no-restore 명령을 실행 build 하거나 먼저 실행 bicep restore 합니다.

스위치를 --no-restore 사용하려면 Bicep CLI 버전 0.4.X 이상이 있어야 합니다.

빌드 매개 변수

build-params 명령은 파일을 JSON 매개 변수 파일로 빌드합니다 .bicepparam .

az bicep build-params --file params.bicepparam

이 명령은 params.bicepparam 매개 변수 파일을 params.json JSON 매개 변수 파일로 변환합니다.

디컴파일

decompile 명령은 JSON ARM 템플릿을 Bicep 파일로 변환합니다.

az bicep decompile --file main.json

이 명령은 main.json 동일한 디렉터리에 main.bicep이라는 파일을 만듭니다. main.bicep이 동일한 디렉터리에 있는 경우 --force 스위치를 사용하여 기존 Bicep 파일을 덮어씁니다.

이 명령을 사용하는 방법에 대한 자세한 내용은 JSON ARM 템플릿을 Bicep으로 디컴파일(Decompile JSON ARM) 템플릿을 참조하세요.

디컴파일 매개 변수

decompile-params 명령은 JSON 매개 변수 파일을 매개 변수 파일로 .bicepparam 디컴파일합니다.

az bicep decompile-params --file azuredeploy.parameters.json --bicep-file ./dir/main.bicep

이 명령은 azuredeploy.parameters.json 매개 변수 파일을 azuredeploy.parameters.bicepparam 파일로 디컴파일합니다. --bicep-file는 선언에서 참조 using 되는 Bicep 파일의 경로(파일을 기준으로.bicepparam)를 지정합니다.

format

format 명령은 Bicep 파일의 형식을 지정합니다. Visual Studio Code의 SHIFT+ALT+F 바로 가기와 동일한 기능을 제공합니다.

az bicep format --file main.bicep

generate-params

generate-params 명령은 지정된 Bicep 파일에서 매개 변수 파일을 빌드하고 기존 매개 변수 파일이 있는 경우 업데이트합니다.

az bicep generate-params --file main.bicep --output-format bicepparam --include-params all

이 명령은 main.bicepparam이라는 Bicep 매개 변수 파일을 만듭니다. 매개 변수 파일에는 기본값으로 구성되었는지 여부에 관계없이 Bicep 파일의 모든 매개 변수가 포함됩니다.

az bicep generate-params --file main.bicep --outfile main.parameters.json

이 명령은 main.parameters.json 매개 변수 파일을 만듭니다. 매개 변수 파일에는 Bicep 파일에 구성된 기본값이 없는 매개 변수만 포함됩니다.

설치

install 명령은 로컬 환경에 Bicep CLI를 추가하며 Azure CLI를 통해서만 사용할 수 있습니다. 자세한 내용은 Bicep 도구 설치를 참조하세요.

최신 버전을 설치하려면 다음을 사용하세요.

az bicep install

특정 버전을 설치하려면

az bicep install --version v0.3.255

jsonrpc

jsonrpc 명령을 사용하면 JSON-RPC 인터페이스를 사용하여 Bicep CLI를 실행할 수 있으므로 구조적 출력과 프로그래밍 방식으로 상호 작용할 수 있으며 여러 파일을 컴파일할 때 콜드 시작 지연을 방지할 수 있습니다. 또한 이 설정은 non-.NET 언어로 프로그래밍 방식으로 Bicep 파일과 상호 작용하는 라이브러리 빌드를 지원합니다.

입력/출력을 보내고 받기 위한 와이어 형식은 다음 구조를 사용하여 헤더로 구분되며 여기서 \r 캐리지 리턴 및 \n 줄 바꿈 문자를 나타냅니다.

Content-Length: <length>\r\n\r\n<message>\r\n\r\n
  • <length> 는 후행을 <message> 포함하여 문자열의 길이입니다 \r\n\r\n.
  • <message> 는 원시 JSON 메시지입니다.

예시:

Content-Length: 72\r\n\r\n{"jsonrpc": "2.0", "id": 0, "method": "bicep/version", "params": {}}\r\n\r\n

다음 메시지는 Bicep 버전에 대한 예제를 보여줍니다.

  • 입력:

    {
      "jsonrpc": "2.0",
      "id": 0,
      "method": "bicep/version",
      "params": {}
    }
    
  • 출력은 다음과 같습니다.

    {
      "jsonrpc": "2.0",
      "id": 0,
      "result": {
        "version": "0.24.211"
      }
    }
    

사용 가능한 메서드 및 요청/응답 본문은 다음을 참조하세요 ICliJsonRpcProtocol.cs. JSONRPC 연결을 설정하고 Node를 사용하여 프로그래밍 방식으로 Bicep 파일과 상호 작용하는 예제는 다음을 참조하세요 jsonrpc.test.ts.

명명된 파이프에 대한 사용량

다음 구문을 사용하여 JSONRPC 클라이언트로 명명된 기존 파이프에 연결합니다.

bicep jsonrpc --pipe <named_pipe>`

<named_pipe> 는 JSONRPC 클라이언트를 연결할 기존 명명된 파이프입니다.

OSX/Linux에서 명명된 파이프에 연결하려면:

bicep jsonrpc --pipe /tmp/bicep-81375a8084b474fa2eaedda1702a7aa40e2eaa24b3.sock

Windows에서 명명된 파이프에 연결하려면:

bicep jsonrpc --pipe \\.\pipe\\bicep-81375a8084b474fa2eaedda1702a7aa40e2eaa24b3.sock`

자세한 예제는 C#node.js 참조하세요.

TCP 소켓 사용량

다음 구문을 사용하여 기존 TCP 소켓에 JSONRPC 클라이언트로 연결합니다.

bicep jsonrpc --socket <tcp_socket>

<tcp_socket> 는 JSONRPC 클라이언트가 연결하는 소켓 번호입니다.

TCP 소켓에 연결하려면:

bicep jsonrpc --socket 12345

stdin 및 stdout 사용

다음 구문을 stdin stdout 사용하고 메시지에 JSONRPC 인터페이스를 실행합니다.

bicep jsonrpc --stdio

린트

lint 명령은 Bicep 파일의 오류 및 linter 규칙 위반을 반환합니다.

az bicep lint --file main.bicep

Bicep 파일에 외부 레지스트리를 참조하는 모듈이 포함되어 있으면 명령이 lint 자동으로 호출 restore됩니다. 이 restore 명령은 레지스트리에서 파일을 가져오고 로컬 캐시에 저장합니다.

참고 항목

restore 명령은 캐시를 새로 고치지 않습니다. 자세한 내용은 복원을 참조하세요.

restore를 자동으로 호출하지 않으려면 --no-restore 스위치를 사용합니다.

az bicep lint --no-restore <bicep-file>

외부 모듈 중 하나가 캐시되어 있지 않으면 --no-restore 스위치를 사용한 lint 프로세스가 실패합니다.

The module with reference "br:exampleregistry.azurecr.io/bicep/modules/storage:v1" has not been restored.

이 오류가 발생하면 --no-restore 스위치 없이 lint 명령을 실행하거나, 먼저 bicep restore를 실행합니다.

list-versions

list-versions 명령은 사용 가능한 모든 버전의 Bicep CLI를 반환합니다. 이 명령을 사용하여 새 버전을 업그레이드하거나 설치할 것인지 확인합니다. 이 명령은 Azure CLI를 통해서만 사용할 수 있습니다.

az bicep list-versions

이 명령은 사용 가능한 버전 배열을 반환합니다.

[
  "v0.28.1",
  "v0.27.1",
  "v0.26.170",
  "v0.26.54",
  "v0.25.53",
  "v0.25.3",
  "v0.24.24",
  "v0.23.1",
  "v0.22.6",
  "v0.21.1",
  "v0.20.4",
  "v0.19.5",
  "v0.18.4",
  "v0.17.1",
  "v0.16.2",
  "v0.16.1",
  "v0.15.31",
  "v0.14.85",
  "v0.14.46",
  "v0.14.6",
  "v0.13.1",
  "v0.12.40",
  "v0.12.1",
  "v0.11.1",
  "v0.10.61",
  "v0.10.13",
  "v0.9.1",
  "v0.8.9",
  "v0.8.2",
  "v0.7.4"
]

publish

publish 명령은 레지스트리에 모듈을 추가합니다. Azure 컨테이너 레지스트리가 있어야 하고 레지스트리에 게시하는 계정에 올바른 권한이 있어야 합니다. 모듈 레지스트리 설정에 관한 자세한 내용은 Bicep 모듈에 프라이빗 레지스트리 사용을 참조하세요. 모듈을 게시하려면 계정에 레지스트리에 액세스할 수 있는 올바른 프로필과 사용 권한이 있어야 합니다. Bicep 구성 파일에서 레지스트리 인증을 위한 프로필과 자격 증명 우선 순위를 구성할 수 있습니다.

레지스트리에 파일을 게시한 후 모듈에서 참조할 수 있습니다.

명령과 --documentationUri/-d 매개 변수를 사용 publish 하려면 Bicep CLI 버전 0.14.X 이상이 있어야 합니다.

레지스트리에 모듈을 게시하려면 다음을 사용합니다.

az bicep publish --file <bicep-file> --target br:<registry-name>.azurecr.io/<module-path>:<tag> --documentationUri <documentation-uri>

예시:

az bicep publish --file storage.bicep --target br:exampleregistry.azurecr.io/bicep/modules/storage:v1 --documentationUri https://www.contoso.com/exampleregistry.html

명령은 publish bicepconfig.json 파일에 지정된 별칭을 인식하지 않습니다. 전체 모듈 경로를 제공합니다.

Warning

동일한 대상에 게시하면 이전 모듈을 덮어씁니다. 업데이트할 때 버전을 증분하는 것이 좋습니다.

복원

Bicep 파일이 레지스트리에 게시된 모듈을 사용하는 경우 restore 명령은 레지스트리에서 필요한 모든 모듈의 복사본을 가져옵니다. 해당 복사본을 로컬 캐시에 저장합니다. Bicep 파일은 로컬 캐시에서 외부 파일을 사용할 수 있는 경우만 빌드할 수 있습니다. 일반적으로 빌드 프로세스에 의해 복원이 자동으로 트리거되므로 복원을 실행할 필요가 없습니다.

외부 모듈을 로컬 캐시로 복원하려면 계정에 레지스트리에 액세스할 수 있는 올바른 프로필과 사용 권한이 있어야 합니다. Bicep 구성 파일에서 레지스트리 인증을 위한 프로필과 자격 증명 우선 순위를 구성할 수 있습니다.

restore 명령을 사용하려면 Bicep CLI 버전 0.14.X 이상이 있어야 합니다. 현재 이 명령은 Bicep CLI를 직접 호출할 때만 사용할 수 있습니다. 현재 Azure CLI를 통해 사용할 수 없습니다.

파일에 대한 외부 모듈을 수동으로 복원하려면 다음을 사용합니다.

az bicep restore --file <bicep-file> [--force]

제공하는 Bicep 파일은 배포할 파일입니다. 레지스트리에 연결되는 모듈이 포함되어야 합니다. 예를 들어, 다음 파일을 복원할 수 있습니다.

module stgModule 'br:exampleregistry.azurecr.io/bicep/modules/storage:v1' = {
  name: 'storageDeploy'
  params: {
    storagePrefix: 'examplestg1'
  }
}

로컬 캐시는 다음 위치에 있습니다.

  • Windows

    %USERPROFILE%\.bicep\br\<registry-name>.azurecr.io\<module-path\<tag>
    
  • Linux

    /home/<username>/.bicep
    
  • Mac에서

    ~/.bicep
    

restore 명령은 모듈이 이미 캐시된 경우 캐시를 새로 고치지 않습니다. 캐시를 새로 고치려면 캐시에서 모듈 경로를 삭제하거나 명령과 함께 스위치를 --force restore 사용할 수 있습니다.

Upgrade(업그레이드)

upgrade 명령은 설치된 버전을 최신 버전으로 업데이트합니다. 이 명령은 Azure CLI를 통해서만 사용할 수 있습니다.

az bicep upgrade

version

version 명령은 설치된 버전을 반환합니다.

az bicep version

이 명령은 버전 번호를 표시합니다.

Bicep CLI version 0.22.6 (d62b94db31)

Bicep CLI를 통해 직접 이 명령을 호출하려면 다음을 사용합니다.

bicep --version

Bicep CLI가 설치되지 않은 경우 Bicep CLI를 찾을 수 없다는 오류 메시지가 표시됩니다.

다음 단계

Bicep 파일 배포에 대한 자세한 내용은 다음을 참조하세요.