سؤال

لدينا إعداد CC.NET على تطبيق ASP.NET الخاص بنا.عندما نبني المشروع، يتم تجميع تطبيق ASP.NET مسبقًا ونسخه إلى مشاركة عبر الشبكة، حيث يقوم الخادم بتشغيل التطبيق.

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

يبدو ملف التكوين الخاص بي كما يلي:

    <project name="Assembly.Web.project">
    <triggers>
        <intervalTrigger seconds="3600" />
    </triggers>
    <sourcecontrol type="svn">
        <trunkUrl>svn://svn-server/MyApp/Web/Trunk</trunkUrl>
        <workingDirectory>C:\build-server\Assembly\Web\TEST-HL</workingDirectory>
    <executable>C:\Program Files (x86)\SVN 1.5 bin\svn.exe</executable>
    <username>uid</username>
    <password>pwd</password>
    </sourcecontrol>
    <tasks>
        <msbuild>
          <executable>C:\Windows\Microsoft.NET\Framework64\v3.5\MSBuild.exe</executable>
          <workingDirectory>C:\build-server\Assembly\Web\TEST-HL</workingDirectory>
          <projectFile>C:\build-server\Assembly\Web\TEST-HL\Web\Web.sln</projectFile>
          <buildArgs>/noconsolelogger /p:Configuration=Debug /v:diag</buildArgs>
          <targets>Build</targets>
          <timeout>900</timeout>
          <logger>C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger>
        </msbuild>
    </tasks>
    <publishers>
        <buildpublisher>
             <sourceDir>C:\build-server\Assembly\Web\PrecompiledWeb</sourceDir>
             <publishDir>\\test-web01\Web</publishDir>
             <useLabelSubDirectory>false</useLabelSubDirectory>
             <alwaysPublish>false</alwaysPublish>
        </buildpublisher>           
    </publishers>
</project>

كما ترون، أستخدم buildPublisher لنسخ الملفات المجمعة مسبقًا إلى مشاركة الشبكة.ما أريد القيام به هنا هو إما 1) حذف ملفات معينة قبل نسخها أو 2) استبدال تلك الملفات بعد نسخها.

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

هل يمكنك تشغيل ملف .bat باستخدام CC.NET؟

هل كانت مفيدة؟

المحلول

عليك أن تستخدم نانت لهذا النوع من الاشياء.هنا هو مرجع مهمة نانت..

نصائح أخرى

أنا استخدم أ نانت مهمة لجميع عمليات النشر والنشر والتنظيف وما إلى ذلك.

نلقي نظرة على MSDEploy أو مشاريع نشر الويب.هناك سؤال من شأنه أن يوفر مزيد من التفاصيل هنا

بالطبع يمكن لـ CruiseControl.NET تشغيل ملف دفعي، ما عليك سوى استخدام مهمة exec.ومع ذلك، قد تكون الإجابة الأسهل هي جعل MSBuild يقوم بالمهمة نيابةً عنك.يجب أن يكون من السهل إضافة بضع خطوات في هدف ما بعد الترجمة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top