Bicep CLI 명령
이 문서에서는 Bicep CLI에서 사용할 수 있는 명령에 대해 설명합니다. Azure CLI를 사용하거나 Bicep CLI 명령을 직접 호출하여 이러한 명령을 실행할 수 있습니다. 각 방법마다 고유한 설치 프로세스가 필요합니다. 설치에 대한 자세한 내용은 Azure CLI 및 Azure PowerShell을 참조하세요.
이 지침은 Azure CLI에서 명령을 실행하는 방법을 보여 줍니다. Azure CLI에서 명령을 실행할 때 .로 시작합니다 az
. Azure CLI를 사용하지 않는 경우 각 CLI를 시작할 때 없이 az
명령을 실행합니다. 예를 들어, az bicep build
는 bicep build
가 되고 az bicep version
은 bicep --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`
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 파일 배포에 대한 자세한 내용은 다음을 참조하세요.