CCF Development Setup¶
From version 6.0.0, CCF is primarily built for and tested on Azure Linux 3. We recommend starting from the latest azure-linux-3 image in your container or VM.
Environment Setup¶
First checkout the CCF repository or install the latest CCF release.
Then, to set up the dependencies necessary to build CCF itself and its tests, run:
cd <ccf_path>/scripts
./setup-ci.sh
./scripts/setup-dev.sh
Once this is complete, you can proceed to Build CCF Applications.
Visual Studio Code Setup¶
If you use Visual Studio Code you can install the Remote Container extension and use the sample devcontainer.json config. More details on that process.
Developing for Azure Linux OS¶
Setting up Azure Linux VM¶
There’s no current way to choose an Azure Linux image in Azure UI, so an Azure Linux based VM must be created through the az CLI:
az group create --name [GROUP_NAME] --location eastus2
az vm create --name [VM-NAME] --resource-group [GROUP_NAME] --image MicrosoftCBLMariner:azure-linux-3:azure-linux-3:latest --admin-username [USERNAME] --ssh-key-values C:\Users\[USERNAME\.ssh\[KEY].pub --os-disk-size-gb 512
Afterwards, go to your VM and select a proper RAM and CPU profile. If you don’t know which one you want, select Standard D16s v3 (64 RAM and 16 CPU cores).
How to install docker¶
Via downloading binaries: https://docs.docker.com/engine/install/binaries/#install-daemon-and-client-binaries-on-linux.
wget https://download.docker.com/linux/static/stable/x86_64/docker-28.0.1.tgz
tar xzvf docker-28.0.1.tgz
sudo cp docker/* /usr/bin/
sudo dockerd &
sudo docker run hello-world
How do I install an EXTENDED package¶
There are 2 lists of packages in the official Azure Linux repo - SPECS and SPECS-EXTENDED.
The latter are hosted on packages.microsoft.com, but to consume them you’ll need to manually add the repo. One way to do this is to put the .repo file directly into /etc/yum.repos.d
:
sudo wget https://packages.microsoft.com/azurelinux/3.0/prod/extended/x86_64/config.repo -O /etc/yum.repos.d/azurelinux-official-extended.repo
Where is perf?¶
In kernel-tools. If anyone works out how to get tdnf repoquery
to say this, please add it here.
How do I find more information about Azure Linux?¶
Try searching for “Mariner”. This was Azure Linux’s previous name, a lot of useful support discussions happened under that name, and it’s far easier to search for.