تكامل البنية الأساسية لمسار CI/CD

توضح هذه المقالة كيفية استخدام البيانات من تكوين Azure App في نظام تكامل مستمر ونشر مستمر.

استخدام تكوين التطبيق في مسار Azure DevOps

إذا كان لديك مسار Azure DevOps Pipeline، يمكنك إحضار قيم المفاتيح من تكوين التطبيق وتعيينها كمتغيرات مهمة. ملحق تكوين التطبيقات Azure App Configuration DevOps هو وحدة نمطية إضافية توفر هذه الوظيفة. اتبع الإرشادات الخاصة بالملحق لاستخدامه في تسلسل مهام الإنشاء أو الإصدار.

نشر بيانات تكوين التطبيق "App Configuration" مع التطبيق الخاص بك

قد يفشل تشغيل التطبيق الخاص بك إذا كان يعتمد على Azure App Configuration ولا يمكنه الوصول إليه. تحسين مرونة التطبيق الخاص بك عن طريق تعبئة بيانات التكوين في ملف يتم نشره مع التطبيق وتحميله محليًا في أثناء بدء تشغيل التطبيق. يضمن هذا الأسلوب أن التطبيق الخاص بك يحتوي على قيم إعداد افتراضية عند بدء التشغيل. يتم استبدال هذه القيم بأية تغييرات أحدث في متجر تكوين التطبيقات عند توفرها.

باستخدام وظيفة "Export" لتكوين تطبيقات Azure App، يمكنك أتمتة عملية استرداد بيانات التكوين الحالية في صورة ملف واحد. يمكنك بعد ذلك تضمين هذا الملف في خطوة بناء أو نشر مسار التكامل والنشر المستمر (CI/CD).

يوضح المثال التالي كيفية تضمين بيانات تكوين التطبيق كخطوة بناء لتطبيق الويب الذي تم تقديمه في خطوات التشغيل السريع. قبل المتابعة، عليك إنهاء إنشاء تطبيق ASP.NET Core باستخدام تكوين التطبيق أولاً.

يمكنك استخدام أي محرر تعليمات برمجية للقيام بالخطوات الواردة في هذا البرنامج التعليمي. يعد Visual Studio Code خيارًا ممتازًا متاحًا على أنظمة تشغيل Windows، وmacOS، وLinux.

المتطلبات الأساسية

إذا قمت بالبناء محليًا، فقم بتنزيل Azure CLI وتثبيته، إن لم تكن قد قمت بهذا بالفعل.

تصدير متجر "App Configuration"

  1. افتح ملف .csproj الخاص بك، ثم قم بإضافة البرنامج النصي التالي:

    <Target Name="Export file" AfterTargets="Build">
        <Message Text="Export the configurations to a temp file. " />
        <Exec WorkingDirectory="$(MSBuildProjectDirectory)" Condition="$(ConnectionString) != ''" Command="az appconfig kv export -d file --path $(OutDir)\azureappconfig.json --format json --separator : --connection-string $(ConnectionString)" />
    </Target>
    
  2. فتح Program.cs، وتحديث CreateWebHostBuilder الأسلوب لاستخدام ملف JSON المُصدر عن طريق استدعاء config.AddJsonFile() الطريقة. قم بإضافة System.Reflection مساحة الاسم أيضًا.

    public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .ConfigureAppConfiguration((hostingContext, config) =>
            {
                var directory = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
                var settings = config.Build();
    
                config.AddJsonFile(Path.Combine(directory, "azureappconfig.json"));
                config.AddAzureAppConfiguration(settings["ConnectionStrings:AppConfig"]);
            })
            .UseStartup<Startup>();
    

يوصى بإنشاء التطبيق وتشغيله محليًا

  1. تعيين environment variable يُسمَّى ConnectionString، وتعيينه إلى مفتاح الوصول إلى متجر App Configuration.

    لإنشاء التطبيق وتشغيله محليًا باستخدام موجه أوامر Windows، قم بتشغيل الأمر التالي ثم أعد تشغيل موجه الأوامر للسماح بالتغيير أن يدخل حيز التنفيذ:

        setx ConnectionString "connection-string-of-your-app-configuration-store"
    
  2. لإنشاء التطبيق باستخدام .NET CLI، قم بتشغيل الأمر التالي في الأمر shell:

     dotnet build
    
  3. بعد اكتمال الإنشاء بنجاح، قم بتشغيل الأمر التالي لتشغيل تطبيق الويب محليًا:

     dotnet run
    
  4. افتح نافذة متصفح وانتقل إلى http://localhost:5000، وهو عنوان URL الافتراضي لتطبيق الويب المستضاف محليًا.

    Screenshot that shows Quickstart app launch local page.

الخطوات التالية

في هذا البرنامج التعليمي، قمت بتصدير بيانات تكوين تطبيقات Azure App لاستخدامها في مسار النشر. لمعرفة المزيد بشأن كيفية استخدام تكوين التطبيق، تابع إلى نماذج Azure CLI.