GitHub Copilot bulut aracısını Azure MCP Sunucusuna bağlama

Bu makalede, GitHub Copilot bulut aracısını ayarlama ve Azure MCP Sunucusuna bağlama gösterilmektedir. Bulut aracısını sunucuya bağlayarak, aracının Azure’a özgü dosyalarınızı ve Azure kaynaklarını anlamasını ve kod dosyalarınızda düzenlemeler yapmasını sağlayabilirsiniz.

GitHub deponuzda GitHub Copilot bulut aracısına GitHub sorunları atamak, kodunuzda yapılan değişikliklerle birlikte bir çekme isteği oluşturur. İstenen değişiklikler Azure kaynaklarınıza erişim gerektiriyorsa, GitHub Copilot bulut aracısının Azure MCP Sunucusunu kullanması gerekir. GitHub Copilot bulut aracısı Azure tabanlı projenizde aracı olarak değişiklik yapmak için Azure MCP Sunucusunu kullanabilmek için önce GitHub Copilot bulut aracısını yapılandırmanız ve Azure'de uygun izinleri vermeniz gerekir. Her şeyi manuel olarak yapılandırabilirsiniz, ancak azd ve coding-agent uzantısı kullanılarak birçok adım otomatikleştirilir. GitHub artık kullanıcı arabiriminde görünen ad olarak "Copilot bulut aracısı"nı kullanıyor, ancak kararlı uzantı tanımlayıcısı azure.coding-agent olarak kalıyor ve CLI komutu azd coding-agent ... olarak kalıyor.

Prerequisites

  • Azure hesabı ve Azure aboneliğine erişim. Bunların nasıl ayarlanacağına dair ayrıntılı bilgi için Azure hesapları için fiyatlandırma sayfasına bakın.

  • GitHub hesabı ve GitHub Copilot aboneliği. Bunların nasıl ayarlanacağı hakkında ayrıntılı bilgi için sırasıyla GitHub'da hesap oluşturma ve GitHub Copilot için Hızlı Başlangıç bölümlerine bakın.

  • GitHub deposunun mevcut yerel kopyası. Bu makalede, GitHub Copilot bulut aracısı ile Azure MCP Sunucusu arasındaki bağlantının nasıl ayarlanacağı açıklandığı için, GitHub deposu Bicep veya Terraform şablonları gibi Azure dağıtım betiklerini içermelidir.

GitHub deposunu Azure MCP Sunucusunu kullanacak şekilde yapılandırma

Kodlama aracısı uzantısı, azd GitHub Copilot bulut aracısı ile Azure aboneliğiniz için Azure MCP Sunucusu arasındaki bağlantıyı güvenli bir şekilde ayarlamak için gereken adımları basitleştirir. İlk olarak, Azure aboneliğinizde bir hesap oluşturur ve gerekli izinlere sahip bir rol atar. İkincisi, Azure MCP Sunucusu'nu GitHub Copilot bulut aracısına tanıtmak için gereken bir JSON kod parçacığı sağlar.

  1. Henüz azd yüklemediyseniz, yüklemek için yönergeleri izleyin .

  2. Terminalde, çalışmak istediğiniz deponun yerel kopyasına gidin.

  3. coding-agent için azd uzantısını, azd coding-agent config komutunu kullanarak çağırın.

  4. Yükleme sırasında şunları seçmeniz istenir:

    • Azure aboneliği
    • Copilot bulut aracısını kullanan GitHub deposu
    • Yeni veya mevcut bir Kullanıcı Tarafından Yönetilen Kimlik oluşturmak isteyip istemediğiniz
    • Bir Azure konumu
    • Azure kaynak grubu
    • Oluşturulan GitHub Actions iş akışı kurulum dosyasını içeren yeni bir dalın oluşturulacağı GitHub deposu

    Konumu ve kaynak grubunu seçerken, uygulamadaki Azure kaynaklarıyla aynı hedef konumu ve kaynak grubunu kullanmak isteyebilirsiniz.

  5. Birkaç dakika sonra, coding-agent için azd uzantısı kullanıcı tarafından atanan yönetilen kimliği oluşturur (veya mevcut olanı kullanır), buna bir rol atar, kimlik değerlerini GitHub deposunun ortamında depolar ve oluşturulan GitHub Actions iş akışı kurulum dosyasını içeren bir dal oluşturur ve gönderir.

  6. Konsolda bir ileti görürsünüz:

    (!)
    (!) NOTE: Some tasks must still be completed, manually:
    (!)
    

    Genellikle üç görev vardır:

    • Oluşturulan GitHub Actions iş akışı kurulum dosyasını içeren dalı birleştirin.
    • Azure portalında Copilot bulut aracısının yönetilen kimlik rollerini yapılandırın. Varsayılan olarak, "Okuyucu" rolü atanır. Ancak, bulut aracısı tarafından otonom olarak ne yapmak istediğinize bağlı olarak buna başka izinler vermek isteyebilirsiniz.
    • MCP yapılandırmasını ayarlamak için bağlantıyı ziyaret edin. Oraya manuel olarak gitmek için GitHub'da Ayarlar>Copilot>Cloud agent>MCP yapılandırması bölümüne gidin ve sağlanan JSON kod parçacığını yapıştırın. Bir örnek aşağıda verilmiştir:
    {
        "mcpServers": {
            "Azure": {
                "type": "local",
                "command": "npx",
                "args": [
                    "-y",
                    "@azure/mcp@latest",
                    "server",
                    "start"
                ],
                "tools": [
                    "*"
                ]
            }
        }
    }
    
  7. Son olarak, oluşturulan GitHub Actions iş akışı kurulum dosyasını içeren dalı birleştirmek üzere çekme isteği oluşturabilmeniz için, coding-agent için azd uzantısının tarayıcıyı açmasına izin verebilirsiniz.

GitHub Copilot bulut aracısını başlatmak için GitHub'da sorun oluşturma

Bu noktada, Azure dağıtımlarının ve kaynaklarının anlaşılmasını gerektiren GitHub Copilot bulut aracısına atadığınız tüm GitHub sorunlar için Azure MCP Sunucusu'nu kullanmak üzere GitHub Copilot bulut aracısını başarıyla ayarladınız.

Örneğin, PostgreSQL için Azure Veritabanı'na dağıtıldığında PostgreSQL'e ayrılan belleği artırmak istediğinizi varsayalım. Bicep şablonunuzu kullanılabilir bir sonraki depolama katmanını kullanacak şekilde değiştirmek ve GitHub Copilot'a atamak için bir sorun oluşturabilirsiniz.

Note

Kullanıcı Tarafından Yönetilen Kimlik rolü varsayılan olarak "Okuyucu" olarak ayarlandığından, istediğiniz değişiklikler Bicep veya Terraform şablonları gibi dağıtım betiklerini değiştirmek olmalıdır. "Okuyucu" rolünün izinlerinden dolayı Azure aboneliğinizdeki mevcut kaynakları doğrudan değiştirme isteği yetkilendirilmiyor.

  1. GitHub'da, Azure MCP Sunucusunu etkinleştirdiğiniz Azure tabanlı projenizi içeren depoda Sorunlar'a gidin.

  2. Yeni Sorun düğmesini seçin. Başlık ve açıklama alanlarında GitHub Copilot bulut aracısının yapmasını istediğiniz değişikliği açıklayın. Oluştur düğmesini seçin.

    Önceki örnekten ödünç almak isterseniz, sorununuzu açıklamak için aşağıdaki metni kullanabilirsiniz.

    Title: Increase database storage
    
    Currently, when deploying to Azure via Bicep, we're creating a PostgreSQL database with 32gb of storage. I need the next tier higher -- whatever that is.
    

    Bu örnek sorun, kullanıcı tam olarak ne istediğini bilmese bile basit ve net bir istek oluşturur. Azure MCP Server'ın PostgreSQL için Azure Veri Tabanı Esnek Sunucu için kullanılabilir depolama katmanları ve bu değişikliği yapmak için gereken Bicep şablonundaki ayar hakkında araştırma yapmasına olanak tanır.

    Important

    GitHub Copilot'un Azure MCP Sunucusundan araç istediğinden emin olmak için isteminizde "Azure" sözcüğünü kullandığınızdan emin olun.

  3. Atananlar'ın altındaki "Copilot'a Ata" düğmesini seçin. Hedef depoyu, temel dalı değiştirmenize ve isteğe bağlı bir istem eklemenize olanak sağlayan "Soruna Copilot Ata" iletişim kutusu görüntülenir. "Ata" düğmesini seçin.

  4. Sorun GitHub Copilot bulut aracısına atandıktan sonra, çalışmanın başladığını belirten, başında "[WIP]" bulunan çekme isteğine ait bir bağlantı görürsünüz.

  5. Çekme isteğini görüntülemek için "[WIP]" bağlantısını seçin.

  6. Pull isteği içinde, kodlama oturumunu görüntülemek için bağlantıyı seçin. Bu, Visual Studio deneyimine benzer şekilde, Copilot bulut aracısının istekte kaydettiği ilerlemeyi gösterir.

  7. İşiniz bittiğinde GitHub Copilot bulut aracısı bir kod gözden geçirmesi isteğinde bulunur. GitHub ile yineleme yapmak için normal iş akışınızı kullanarak GitHub Copilot bulut aracısını iş arkadaşı olarak değerlendirin.

  8. Değişiklikleri onaylayıp çekme isteğini birleştirdiğinizde GitHub Copilot, oluşturduğunuz özgün sorunu çözer.