2015-04-02 8 views
6

पर एआई को तैनात करने के लिए मुझे ऑक्टोपस परिनियोजन का उपयोग करके एक Azure क्लाउड सेवा के रूप में हमारे एप्लिकेशन को तैनात करने के लिए निरंतर एकीकरण प्रक्रिया स्थापित करने की आवश्यकता है। इस प्रक्रिया में एक चरण शामिल है जो हमारे Azure SQL डेटाबेस के विरुद्ध इकाई फ्रेमवर्क 6.1 माइग्रेशन निष्पादित करता है (स्थानीय ऑक्टोपस तम्बू से migrate.exe चलाकर)। हालांकि, पोर्ट 1433 को काम करने के लिए ऑक्टोपस मशीन पर खोला जाना होगा, और हमारा व्यवस्थापक ऐसा नहीं करेगा।ऑक्टोपस के दौरान एंटिटी फ्रेमवर्क माइग्रेशन चलाना AzI

क्या स्वचालित तैनाती प्रक्रिया के दौरान एंटीटी फ्रेमवर्क माइग्रेशन निष्पादित करने के लिए आप एक अलग तरीका सुझा सकते हैं?

+0

क्यों आप पोर्ट नहीं खोल सकता है? आपने क्या करने का फैसला किया? –

उत्तर

2

हमने उस बंदरगाह को खोलना समाप्त कर दिया, क्योंकि हमें कोई अन्य समाधान नहीं मिला। संदर्भ के लिए, यहां हम जिस स्क्रिप्ट को चला रहे हैं (हमारी तैनाती .ps1 स्क्रिप्ट, प्रत्येक परिनियोजन पर NuGet द्वारा निष्पादित) है।

# SOURCE: http://danpiessens.com/blog/2014/06/10/deploying-databases-with-octopus-deploy-part-2/ 

# Get the exe name based on the directory 
$contentPath = (Join-Path $OctopusOriginalPackageDirectoryPath "content") 
$fullPath = (Join-Path $OctopusOriginalPackageDirectoryPath "content\migrate.exe") 

Write-Host "Content Path:" $contentPath 
Write-Host "Migrate Path:" $fullPath 

cd $contentPath 
write-host "Working Dir: "$(get-location) 

# Run the migration utility 

& "$fullPath" MyApp.Data.dll /startUpConfigurationFile=MyApp.Web.dll.config /connectionString=$ApplicationConnectionString /connectionProviderName="System.Data.SqlClient" /verbose | Write-Host 
1

मैं चलाने के आवेदन पर माइग्रेशन इस कोड का उपयोग शुरू:

class ApplicationDataContext : DbContext 
    { 
     internal static void UpdateDatabase() 
     { 
      Database.SetInitializer<ApplicationDataContext>(null); 

      var settings = new Migrations.Configuration(); 
      var migrator = new DbMigrator(settings); 
      migrator.Update(); 

     } 
} 
+0

हाय @ सर्बान, क्या आप निरंतर एकीकरण के साथ इसका उपयोग कर रहे हैं? यदि हां, तो क्या डीबी माइग्रेशन समस्याएं आपकी तैनाती प्रक्रिया द्वारा उठाई जाती हैं? – Ozzy

+0

अरे @ ओजी, हां, मैं इसे लगातार एकीकरण/तैनाती के हिस्से के रूप में कर रहा हूं। – Serban

+1

ठीक है @ सर्बान। लेकिन अगर आप माइग्रेशन विफल हो जाते हैं, तो क्या आप वास्तव में तैनाती के दौरान अपवाद उठाते हैं, या जब आप बिल्डिंग और तैनाती प्रक्रिया के बाद पहली बार शारीरिक रूप से अपना आवेदन चलाते हैं तो क्या आप इसे उठाते हैं? – Ozzy

संबंधित मुद्दे