티스토리 뷰
<참조>
https://code.visualstudio.com/docs/setup/windows
https://zimmergren.net/azure-cli-in-vscode/
https://code.visualstudio.com/docs/azure/extensions
0. 들어가기 전에
본문 내용 중에 잘못된 부분이 있거나 보다 효율적이고 스마트한 솔루션이 있다면 함께 나눠주시길 바란다~^^
첫 글을 안읽으신 분들은 필히 여기로 이동하여 먼저 읽고 오길 바란다.
앞으로 우리가 진행하게 될 실습에서는 Visual Studio Code 편집기를 사용하게 될 것이다.
따라서 이번 글에서는 Windows 사용자 중심의 해당 작업 환경 구성에 대해 살펴보도록 한다.
참고로 본 실습의 모든 예시는 Azure에서 VM (Windows 10 Pro, Version 1809)을 생성하여 그 환경에서 시행되었다.
1. Visual Studio(VS) Code 설치
다음 페이지로 이동하여 VS Code 최신본 (64비트)을 다운로드 한다.
다운로드가 완료되면 설치를 진행하되, 다음 단계에서 윈도우 파일 탐색기 우클릭 메뉴로부터 VS Code를 통해 파일 및 폴더를 열 수 있도록 옵션을 체크한다.
# VS Code 윈도우 파일 탐색기 우클릭 메뉴 예시
설치가 완료된 후의 초기 페이지는 다음과 같다.
2. PowerShell Core 설치
az 모듈을 사용하기 위해서 PowerShell Core를 설치한다. 다음 git 저장소로 이동하여 Windows (x64) PowerShell Core 패키지를 다운로드 한다.
다운로드가 완료되면 설치를 진행하되, 다음 단계에서 탐색기 우클릭 메뉴를 통해 PowerShell 터미널을 열 수 있도록 옵션을 체크한다.
# PowerShell 6 윈도우 파일 탐색기 우클릭 메뉴 예시
설치가 완료된 후 PowerShell 6 (x64)를 실행한다.
다음의 명령을 수행하여 az모듈 설치한다. 설치 도중 리포지토리 신뢰에 관한 질의를 하는데 A를 눌러 계속 진행한다.
Install-Module -Name Az -AllowClobber |
PowerShell 6.2.3
Copyright (c) Microsoft Corporation. All rights reserved.
https://aka.ms/pscore6-docs
Type 'help' to get help.
PS C:\Users\zerobig> Install-Module -Name Az -AllowClobber
Untrusted repository
You are installing the modules from an untrusted repository. If you trust this repository, change its
InstallationPolicy value by running the Set-PSRepository cmdlet. Are you sure you want to install the modules from
'PSGallery'?
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "N"): A
모듈 설치가 마무리 된 후, 다음의 명령을 수행하여 설치된 az 모듈 버전을 확인한다.
Get-InstalledModule -Name Az -AllVersions |
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "N"): A
PS C:\Users\zerobig> Get-InstalledModule -Name Az -AllVersions
Version Name Repository Description
------- ---- ---------- -----------
3.0.0 Az PSGallery Microsoft Azure PowerShell - Cmdlets to …
다음 명령을 수행하여 인증 계정을 추가한다.
Add-AzAccount |
PS C:\Users\zerobig> Add-AzAccount
WARNING: To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code G9A694CG9 to authenticate.
https://microsoft.com/devicelogin 주소로 이동하여 할당된 코드값(G9A694CG9)을 입력한 뒤 자신이 추가하고자 하는 Azure 구독 계정으로 로그인 한다.
처리가 정상적으로 이루어졌다면 다음과 같은 창이 뜬다.
터미널 창에서 확인해 보면, 다음과 같이 Account 정보와 더불어 SubscriptionName 및 TenantId 정보가 정상적으로 전시되어야 한다.
PS C:\Users\zerobig> Add-AzAccount
WARNING: To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code G9A694CG9 to authenticate.
Account SubscriptionName TenantId Environment
------- ---------------- -------- -----------
zerobig.kim@gmail.com Visual Studio Enterprise 917bfe84-xxxx-xxxx-xxxx-236e41ceafe9 AzureCloud
3. Azure CLI 설치
먼저 여기를 클릭하여 최신 버전의 Windows용 Azure CLI를 다운로드 받은 후 기본값으로 설치를 진행한다.
설치가 완료되면 pwsh 터미널을 새로 하나 띄어 az 명령을 수행하고 엔터를 한다.
설치가 정상적으로 이루어졌다면 다음과 같이 웰컴 메시지를 볼 수 있어야 한다.
PowerShell 6.2.3
Copyright (c) Microsoft Corporation. All rights reserved.
https://aka.ms/pscore6-docs
Type 'help' to get help.
PS C:\Users\zerobig> az
Welcome to Azure CLI!
---------------------
Use `az -h` to see available commands or go to https://aka.ms/cli.
Telemetry
---------
The Azure CLI collects usage data in order to improve your experience.
The data is anonymous and does not include commandline argument values.
The data is collected by Microsoft.
You can change your telemetry settings with `az configure`.
/\
/ \ _____ _ _ ___ _
/ /\ \ |_ / | | | \'__/ _\
/ ____ \ / /| |_| | | | __/
/_/ \_\/___|\__,_|_| \___|
Welcome to the cool new Azure CLI!
Use `az --version` to display the current version.
Here are the base commands:
account : Manage Azure subscription information.
acr : Manage private registries with Azure Container Registries.
ad : Manage Azure Active Directory Graph entities needed for Role Based Access
Control.
advisor : Manage Azure Advisor.
aks : Manage Azure Kubernetes Services.
ams : Manage Azure Media Services resources.
apim : Manage Azure API Management services.
appconfig : Manage App Configurations.
appservice : Manage App Service plans.
backup : Manage Azure Backups.
batch : Manage Azure Batch.
billing : Manage Azure Billing.
bot : Manage Microsoft Azure Bot Service.
cache : Commands to manage CLI objects cached using the `--defer` argument.
cdn : Manage Azure Content Delivery Networks (CDNs).
cloud : Manage registered Azure clouds.
cognitiveservices : Manage Azure Cognitive Services accounts.
configure : Manage Azure CLI configuration. This command is interactive.
consumption : Manage consumption of Azure resources.
container : Manage Azure Container Instances.
cosmosdb : Manage Azure Cosmos DB database accounts.
deployment : Manage Azure Resource Manager deployments at subscription scope.
deploymentmanager : Create and manage rollouts for your service.
disk : Manage Azure Managed Disks.
dla : Manage Data Lake Analytics accounts, jobs, and catalogs.
dls : Manage Data Lake Store accounts and filesystems.
dms : Manage Azure Data Migration Service (DMS) instances.
eventgrid : Manage Azure Event Grid topics, event subscriptions, domains and domain
topics.
eventhubs : Manage Azure Event Hubs namespaces, eventhubs, consumergroups and geo
recovery configurations - Alias.
extension : Manage and update CLI extensions.
feature : Manage resource provider features.
feedback : Send feedback to the Azure CLI Team!
find : I'm an AI robot, my advice is based on our Azure documentation as well as
the usage patterns of Azure CLI and Azure ARM users. Using me improves Azure
products and documentation.
functionapp : Manage function apps. To install the Azure Functions Core tools see
https://github.com/Azure/azure-functions-core-tools.
group : Manage resource groups and template deployments.
hdinsight : Manage HDInsight resources.
identity : Managed Service Identities.
image : Manage custom virtual machine images.
interactive : Start interactive mode. Installs the Interactive extension if not installed
already.
iot : Manage Internet of Things (IoT) assets.
iotcentral : Manage IoT Central assets.
keyvault : Manage KeyVault keys, secrets, and certificates.
kusto : Manage Azure Kusto resources.
lab : Manage Azure DevTest Labs.
lock : Manage Azure locks.
login : Log in to Azure.
logout : Log out to remove access to Azure subscriptions.
managedapp : Manage template solutions provided and maintained by Independent Software
Vendors (ISVs).
managedservices : Manage the registration assignments and definitions in Azure.
maps : Manage Azure Maps.
mariadb : Manage Azure Database for MariaDB servers.
monitor : Manage the Azure Monitor Service.
mysql : Manage Azure Database for MySQL servers.
netappfiles : Manage Azure NetApp Files (ANF) Resources.
network : Manage Azure Network resources.
openshift : Manage Azure Red Hat OpenShift Services.
policy : Manage resource policies.
postgres : Manage Azure Database for PostgreSQL servers.
ppg : Manage Proximity Placement Groups.
provider : Manage resource providers.
redis : Manage dedicated Redis caches for your Azure applications.
relay : Manage Azure Relay Service namespaces, WCF relays, hybrid connections, and
rules.
reservations : Manage Azure Reservations.
resource : Manage Azure resources.
rest : Invoke a custom request.
role : Manage user roles for access control with Azure Active Directory and service
principals.
search : Manage Azure Search services, admin keys and query keys.
security : Manage your security posture with Azure Security Center.
servicebus : Manage Azure Service Bus namespaces, queues, topics, subscriptions, rules
and geo-disaster recovery configuration alias.
sf : Manage and administer Azure Service Fabric clusters.
sig : Manage shared image gallery.
signalr : Manage Azure SignalR Service.
snapshot : Manage point-in-time copies of managed disks, native blobs, or other
snapshots.
sql : Manage Azure SQL Databases and Data Warehouses.
storage : Manage Azure Cloud Storage resources.
tag : Manage resource tags.
vm : Manage Linux or Windows virtual machines.
vmss : Manage groupings of virtual machines in an Azure Virtual Machine Scale Set
(VMSS).
webapp : Manage web apps.
PS C:\Users\zerobig>
4. git bash 설치
git for windows 최신 버전을 다운로드 받아 기본값으로 설치를 진행한다.
설치가 완료되면 git bash 터미널을 열어 git version 명령을 수행하고 엔터를 한다.
설치가 정상적으로 이루어졌다면 다음과 같은 결과가 나타나야 한다.
zerobig@zerovmw10 MINGW64 ~
$ git version
git version 2.24.0.windows.2
zerobig@zerovmw10 MINGW64 ~
$
5. VS Code 터미널 설정
VS Code 에서 File - Preferences - Settings 또는 "Ctrl + ,"를 클릭하고 검색창에 "settings.json"을 입력한다.
결과 중에서 Edit in settings.json을 클릭한다.
각자 자신의 설치 환경 및 상황에 맞게 다음 내용을 참조하여 붙여 넣고 "Ctrl + s"를 클릭하여 내용을 저장한다.
"shellLauncher.shells.windows": [ { "shell": "C:\\Windows\\system32\\cmd.exe", "label": "cmd" }, { "shell": "C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe", "label": "PowerShell" }, { "shell": "C:\\Program Files\\PowerShell\\6\\pwsh.exe", "label": "PowerShell Core" }, ], "terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe", } |
{
"shellLauncher.shells.windows": [
{
"shell": "C:\\Windows\\system32\\cmd.exe",
"label": "cmd"
},
{
"shell": "C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe",
"label": "PowerShell"
},
{
"shell": "C:\\Program Files\\PowerShell\\6\\pwsh.exe",
"label": "PowerShell Core"
},
],
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe",
}
이제 Shell Launcher라는 VS Code Extensions를 설치하여 여러 shell 구성을 용이하게 실행할 수 있도록 해보자.
"Ctrl + Shift + x"를 클릭하여 "shell" 이라는 키워드를 입력한다.
결과 중에 Shell launcher라는 Extension을 Install 한다.
"Ctrl + Shift + p"를 클릭하여 "shell" 이라는 키워드를 입력한다.
결과 중에 Shell Launcher: Launch를 선택한다.
다음과 같이 shell 리스트들이 나열된다. 하지만 Git Bash가 보이지 않는다.
우선 cmd를 선택 후 TERMINAL 창에서 엔터를 수행한다. 이런식으로 "Ctrl + Shift + p"를 눌러 Shell Launcher: Launch를 선택 후 TERMINAL 창에서 엔터를 반복하면 최종적으로 다음과 같은 결과가 될 것이다.
이제 위 결과 중에 마지막에 있는 Select Default Shell을 선택하면 비로서 Git Bash가 보이게 된다.
Git Bash를 선택한다. 그리고 나서 Terminal - New Terminal을 선택하면 다음과 같이 모든 터미널이 전시됨을 확인할 수 있다.
6. VS Code Extensions 설치
유용한 Azure 관련 Extensions 을 몇 가지만 먼저 설치하도록 하겠다.
Ctrl + Shift + x 버튼을 눌러 다음의 Extentions을 조회하여 설치한다.
- Azure Resource Manager Tools : Azure Resource Manager 배포 템플릿 및 템플릿 언어 표현식에 대한 언어 지원을 제공한다.
- Azure Resource Manager Snippets : AKS, VMs, Virtual Networks 등 많은 종류의 ARM 템플릿 생성을 위한 Snippets을 추가한다.
- Azure CLI Tools : Azure CLI를 사용하여 명령을 개발하고 실행하기 위한 스크랩북이다. 자주 실행하는 파일, 구성 및 공통 명령의 정확성을 용이하게 확인할 수 있다.
- PowerShell : Visual Studio Code가 제공하는 뛰어난 IDE와 유사한 인터페이스를 사용하여 PowerShell 스크립트를 작성하고 디버깅 할 수 있게 해준다.
앞으로 실습 과정에서 필요한 Extentions이 있다면 그때마다 추가해 나가도록 하겠다.
보다 많은 Azure 관련 Extensions 정보를 알아보고 싶다면, Azure Extension Pack 페이지를 참고한다.Pack
축하한다~!!!! 이제 모든 작업 준비가 마무리 되었다.
지금까지 설치/구성한 각각의 shell 및 Extensions에 대해서는 이후 진행되는 실습과정에서 하나씩 체험하게 될 것이다.
'Azure와 함께 하는 DevOps' 카테고리의 다른 글
05 Resource Manager 템플릿에 템플릿 함수 추가 (0) | 2019.11.28 |
---|---|
04 Resource Manager 템플릿에 매개변수 추가 (0) | 2019.11.25 |
03 Resource Manager 템플릿에 리소스 추가 (0) | 2019.11.20 |
02 첫 번째 Azure Resource Manager 템플릿을 만들고 배포 (0) | 2019.11.11 |
00 제로빅의 Azure와 함께하는 DevOps 실습기 (2) | 2019.11.06 |