2016-02-16 14 views
5

पर तैनाती करते समय गिटूब के साथ अज़ूर निरंतर तैनाती विफल रही मैं Azure और Angular2 के लिए बिल्कुल नया हूं।एंजुलर 2 प्रोजेक्ट

उद्देश्य

GitHub के साथ सेटअप Azure सतत तैनाती।

समस्या

Azure उठा भंडार पर मुख्य शाखा के लिए प्रतिबद्ध। तो यह हिस्सा ठीक है। हालांकि, निर्माण त्रुटि के कारण तैनाती विफल रही है। यहाँ

enter image description here

और पूरा लॉग है:

यहाँ तैनाती विवरण है

Command: "D:\home\site\deployments\tools\deploy.cmd" 
Handling .NET Web Application deployment. 
MSBuild auto-detection: using msbuild version '14.0' from 'D:\Program Files (x86)\MSBuild\14.0\bin'. 
All packages listed in packages.config are already installed. 
D:\home\site\repository\LearnJS\LearnJS.Web\app\app.component.ts(1,41): error TS2307: Build: Cannot find module 'angular2/core'. [D:\home\site\repository\LearnJS\LearnJS.Web\LearnJS.Web.csproj] 
D:\home\site\repository\LearnJS\LearnJS.Web\app\app.component.ts(2,46): error TS2307: Build: Cannot find module 'angular2/router'. [D:\home\site\repository\LearnJS\LearnJS.Web\LearnJS.Web.csproj] 
D:\home\site\repository\LearnJS\LearnJS.Web\app\crisis-form.component.ts(1,25): error TS2307: Build: Cannot find module 'angular2/core'. [D:\home\site\repository\LearnJS\LearnJS.Web\LearnJS.Web.csproj] 
D:\home\site\repository\LearnJS\LearnJS.Web\app\crisis-form.component.ts(2,22): error TS2307: Build: Cannot find module 'angular2/common'. [D:\home\site\repository\LearnJS\LearnJS.Web\LearnJS.Web.csproj] 
D:\home\site\repository\LearnJS\LearnJS.Web\app\crisis.component.ts(1,33): error TS2307: Build: Cannot find module 'angular2/core'. [D:\home\site\repository\LearnJS\LearnJS.Web\LearnJS.Web.csproj] 
D:\home\site\repository\LearnJS\LearnJS.Web\app\crisis.component.ts(2,30): error TS2307: Build: Cannot find module 'angular2/http'. [D:\home\site\repository\LearnJS\LearnJS.Web\LearnJS.Web.csproj] 
D:\home\site\repository\LearnJS\LearnJS.Web\app\crisis.service.ts(1,48): error TS2307: Build: Cannot find module 'angular2/core'. [D:\home\site\repository\LearnJS\LearnJS.Web\LearnJS.Web.csproj] 
D:\home\site\repository\LearnJS\LearnJS.Web\app\crisis.service.ts(2,55): error TS2307: Build: Cannot find module 'angular2/http'. [D:\home\site\repository\LearnJS\LearnJS.Web\LearnJS.Web.csproj] 
D:\home\site\repository\LearnJS\LearnJS.Web\app\crisis.service.ts(4,26): error TS2307: Build: Cannot find module 'rxjs/Observable'. [D:\home\site\repository\LearnJS\LearnJS.Web\LearnJS.Web.csproj] 
D:\home\site\repository\LearnJS\LearnJS.Web\app\crisis.service.ts(12,16): error TS2304: Build: Cannot find name 'Promise'. [D:\home\site\repository\LearnJS\LearnJS.Web\LearnJS.Web.csproj] 
D:\home\site\repository\LearnJS\LearnJS.Web\app\hero-form.component.ts(1,25): error TS2307: Build: Cannot find module 'angular2/core'. [D:\home\site\repository\LearnJS\LearnJS.Web\LearnJS.Web.csproj] 
D:\home\site\repository\LearnJS\LearnJS.Web\app\hero-form.component.ts(2,22): error TS2307: Build: Cannot find module 'angular2/common'. [D:\home\site\repository\LearnJS\LearnJS.Web\LearnJS.Web.csproj] 
D:\home\site\repository\LearnJS\LearnJS.Web\app\hero.component.ts(1,33): error TS2307: Build: Cannot find module 'angular2/core'. [D:\home\site\repository\LearnJS\LearnJS.Web\LearnJS.Web.csproj] 
D:\home\site\repository\LearnJS\LearnJS.Web\app\hero.component.ts(2,30): error TS2307: Build: Cannot find module 'angular2/http'. [D:\home\site\repository\LearnJS\LearnJS.Web\LearnJS.Web.csproj] 
D:\home\site\repository\LearnJS\LearnJS.Web\app\hero.service.ts(1,48): error TS2307: Build: Cannot find module 'angular2/core'. [D:\home\site\repository\LearnJS\LearnJS.Web\LearnJS.Web.csproj] 
D:\home\site\repository\LearnJS\LearnJS.Web\app\hero.service.ts(2,55): error TS2307: Build: Cannot find module 'angular2/http'. [D:\home\site\repository\LearnJS\LearnJS.Web\LearnJS.Web.csproj] 
D:\home\site\repository\LearnJS\LearnJS.Web\app\hero.service.ts(4,26): error TS2307: Build: Cannot find module 'rxjs/Observable'. [D:\home\site\repository\LearnJS\LearnJS.Web\LearnJS.Web.csproj] 
D:\home\site\repository\LearnJS\LearnJS.Web\app\hero.ts(1,18): error TS1148: Build: Cannot compile modules unless the '--module' flag is provided. [D:\home\site\repository\LearnJS\LearnJS.Web\LearnJS.Web.csproj] 
D:\home\site\repository\LearnJS\LearnJS.Web\app\main.ts(1,28): error TS2307: Build: Cannot find module 'angular2/platform/browser'. [D:\home\site\repository\LearnJS\LearnJS.Web\LearnJS.Web.csproj] 
D:\home\site\repository\LearnJS\LearnJS.Web\app\main.ts(2,32): error TS2307: Build: Cannot find module 'angular2/router'. [D:\home\site\repository\LearnJS\LearnJS.Web\LearnJS.Web.csproj] 
Failed exitCode=1, command="D:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe" "D:\home\site\repository\LearnJS\LearnJS.Web\LearnJS.Web.csproj" /nologo /verbosity:m /t:Build /t:pipelinePreDeployCopyAllFilesToOneFolder /p:_PackageTempDir="D:\local\Temp\8d33697b325b07b";AutoParameterizationWebConfigConnectionStrings=false;Configuration=Release;UseSharedCompilation=false /p:SolutionDir="D:\home\site\repository\LearnJS\\" 
An error has occurred during web site deployment. 
\r\nC:\Program Files (x86)\SiteExtensions\Kudu\51.50212.2079\bin\scripts\starter.cmd "D:\home\site\deployments\tools\deploy.cmd" 

ऐसा लगता है कि निर्माण मेजबान कोणीय मॉड्यूल नहीं मिल रहा है। मैं समझता हूं कि ये मॉड्यूल ./node_modules निर्देशिका में मौजूद हैं जो मेरे भंडार में चेक नहीं किया गया है। मैं भंडार में एक package.json फ़ाइल है, जो इस तरह दिखता है:

{ 
    "name": "angular2-quickstart", 
    "version": "1.0.0", 
    "scripts": { 
    "tsc": "tsc", 
    "tsc:w": "tsc -w", 
    "lite": "lite-server", 
    "start": "concurrent \"npm run tsc:w\" \"npm run lite\" " 
    }, 
    "license": "ISC", 
    "dependencies": { 
    "angular2": "2.0.0-beta.0", 
    "systemjs": "0.19.6", 
    "es6-promise": "^3.0.2", 
    "es6-shim": "^0.33.3", 
    "reflect-metadata": "0.1.2", 
    "rxjs": "5.0.0-beta.0", 
    "zone.js": "0.5.10" 
    }, 
    "devDependencies": { 
    "concurrently": "^1.0.0", 
    "lite-server": "^1.3.4", 
    "typescript": "^1.7.5" 
    } 
} 

प्रश्न

क्या मैं इन Node.js मॉड्यूल खींचने के लिए Azure प्राप्त करने के लिए क्या करने की जरूरत है जब साइट की तैनाती कर ?

क्या मुझे बस अपनी नोड_मोड्यूल निर्देशिका में जांच करनी चाहिए? लेकिन ऐसा लगता है कि this question के खिलाफ है।

चीजें मैं

की कोशिश की है मैं Azure कमांड लाइन इंटरफेस स्थापित किया है और के रूप में this post ने सुझाव दिया इस आदेश को चलाने के लिए कोशिश की।

azure site deploymentscript --node 

लेकिन मैं इस त्रुटि enter image description here

अद्यतन 2016/02/18 मिला:

को पुन: चलाएं azure site deploymentscript --node आदेश है, जो दो फ़ाइलों उत्पन्न करता है: .deployment और deploy.cmd। मुख्य शाखा में दोनों फाइलों को प्रतिबद्ध किया। लॉग की पहली पंक्ति पर बारीकी से देख रहे हैं, नीला इस निर्देशिका

D:\home\site\deployments\tools\deploy.cmd 

मैं अपने प्रोजेक्ट में एक निर्देशिका deployments\tools बनाने के लिए की जरूरत है या मैं गलत जगह पर deploy.cmd डाल किया था क्या से एक deploy.cmd चलाता है? मुझे अभी भी एक ही बिल्ड त्रुटि मिली है।

आंशिक लॉग फ़ाइल दो तैनाती फ़ाइलों की जांच करने के बाद।

Command: "D:\home\site\deployments\tools\deploy.cmd" 
Handling .NET Web Application deployment. 
MSBuild auto-detection: using msbuild version '14.0' from 'D:\Program Files (x86)\MSBuild\14.0\bin'. 
All packages listed in packages.config are already installed. 
D:\home\site\repository\LearnJS\LearnJS.Web\app\app.component.ts(1,41): error TS2307: Build: Cannot find module 'angular2/core'. 

यहां तैनाती है।cmd फ़ाइल:

@if "%SCM_TRACE_LEVEL%" NEQ "4" @echo off 

:: ---------------------- 
:: KUDU Deployment Script 
:: Version: 1.0.6 
:: ---------------------- 

:: Prerequisites 
:: ------------- 

:: Verify node.js installed 
where node 2>nul >nul 
IF %ERRORLEVEL% NEQ 0 (
    echo Missing node.js executable, please install node.js, if already installed make sure it can be reached from current environment. 
    goto error 
) 

:: Setup 
:: ----- 

setlocal enabledelayedexpansion 

SET ARTIFACTS=%~dp0%..\artifacts 

IF NOT DEFINED DEPLOYMENT_SOURCE (
    SET DEPLOYMENT_SOURCE=%~dp0%. 
) 

IF NOT DEFINED DEPLOYMENT_TARGET (
    SET DEPLOYMENT_TARGET=%ARTIFACTS%\wwwroot 
) 

IF NOT DEFINED NEXT_MANIFEST_PATH (
    SET NEXT_MANIFEST_PATH=%ARTIFACTS%\manifest 

    IF NOT DEFINED PREVIOUS_MANIFEST_PATH (
    SET PREVIOUS_MANIFEST_PATH=%ARTIFACTS%\manifest 
) 
) 

IF NOT DEFINED KUDU_SYNC_CMD (
    :: Install kudu sync 
    echo Installing Kudu Sync 
    call npm install kudusync -g --silent 
    IF !ERRORLEVEL! NEQ 0 goto error 

    :: Locally just running "kuduSync" would also work 
    SET KUDU_SYNC_CMD=%appdata%\npm\kuduSync.cmd 
) 
goto Deployment 

:: Utility Functions 
:: ----------------- 

:SelectNodeVersion 

IF DEFINED KUDU_SELECT_NODE_VERSION_CMD (
    :: The following are done only on Windows Azure Websites environment 
    call %KUDU_SELECT_NODE_VERSION_CMD% "%DEPLOYMENT_SOURCE%" "%DEPLOYMENT_TARGET%" "%DEPLOYMENT_TEMP%" 
    IF !ERRORLEVEL! NEQ 0 goto error 

    IF EXIST "%DEPLOYMENT_TEMP%\__nodeVersion.tmp" (
    SET /p NODE_EXE=<"%DEPLOYMENT_TEMP%\__nodeVersion.tmp" 
    IF !ERRORLEVEL! NEQ 0 goto error 
) 

    IF EXIST "%DEPLOYMENT_TEMP%\__npmVersion.tmp" (
    SET /p NPM_JS_PATH=<"%DEPLOYMENT_TEMP%\__npmVersion.tmp" 
    IF !ERRORLEVEL! NEQ 0 goto error 
) 

    IF NOT DEFINED NODE_EXE (
    SET NODE_EXE=node 
) 

    SET NPM_CMD="!NODE_EXE!" "!NPM_JS_PATH!" 
) ELSE (
    SET NPM_CMD=npm 
    SET NODE_EXE=node 
) 

goto :EOF 

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
:: Deployment 
:: ---------- 

:Deployment 
echo Handling node.js deployment. 

:: 1. KuduSync 
IF /I "%IN_PLACE_DEPLOYMENT%" NEQ "1" (
    call :ExecuteCmd "%KUDU_SYNC_CMD%" -v 50 -f "%DEPLOYMENT_SOURCE%" -t "%DEPLOYMENT_TARGET%" -n "%NEXT_MANIFEST_PATH%" -p "%PREVIOUS_MANIFEST_PATH%" -i ".git;.hg;.deployment;deploy.cmd" 
    IF !ERRORLEVEL! NEQ 0 goto error 
) 

:: 2. Select node version 
call :SelectNodeVersion 

:: 3. Install npm packages 
IF EXIST "%DEPLOYMENT_TARGET%\package.json" (
    pushd "%DEPLOYMENT_TARGET%" 
    call :ExecuteCmd !NPM_CMD! install --production 
    IF !ERRORLEVEL! NEQ 0 goto error 
    popd 
) 

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 

:: Post deployment stub 
IF DEFINED POST_DEPLOYMENT_ACTION call "%POST_DEPLOYMENT_ACTION%" 
IF !ERRORLEVEL! NEQ 0 goto error 

goto end 

:: Execute command routine that will echo out when error 
:ExecuteCmd 
setlocal 
set _CMD_=%* 
call %_CMD_% 
if "%ERRORLEVEL%" NEQ "0" echo Failed exitCode=%ERRORLEVEL%, command=%_CMD_% 
exit /b %ERRORLEVEL% 

:error 
endlocal 
echo An error has occurred during web site deployment. 
call :exitSetErrorLevel 
call :exitFromFunction 2>nul 

:exitSetErrorLevel 
exit /b 1 

:exitFromFunction 
() 

:end 
endlocal 
echo Finished successfully. 
+0

क्या आप एएसपीनेट 5/कोर 1.0 का उपयोग कर रहे हैं? –

+0

मैंने एक खाली एएसपी नेट प्रोजेक्ट के रूप में शुरू किया लेकिन क्लाइंट शुद्ध टाइपस्क्रिप्ट और कोणीय 2 (बीटा 0) के साथ बनाया गया है। मैंने सवाल के लिए * *csproj संलग्न किया। मैं विजुअल स्टूडियो 2013 अपडेट 5 –

+0

का उपयोग कर रहा हूं क्या आपका ऐप एक शुद्ध ग्राहक है? नहीं नेट कोड? या यह एक नोडजेएस ऐप है? –

उत्तर

1

मेरी समझ के आधार पर, मुझे लगता है कि अपनी आवश्यकताओं टाइपप्रति और कोणीय 2 के साथ एक स्थिर वेब परियोजना का निर्माण कर रहा है, तो GitHub के माध्यम से सतत तैनाती के साथ Azure WebApp में स्थिर वेबसाइट की तैनाती।

सरल तरीका वीएस में नोडजेस उपकरण के साथ एक स्थिर वेब प्रोजेक्ट बना रहा है, फिर केवल इन स्थिर वेब HTML पेज के लिए टीएस फाइलों से संकलित जेएस फाइलों के साथ विकास कर रहा है, फिर उन्हें अपने बनाए गए गिटहब रेस्पॉजिटरी में प्रतिबद्ध करें, और निरंतर स्थापित करें Azure पोर्टल पर Azure WebApp के लिए गिटहब से तैनाती।

तो मुझे लगता है कि आप इसे करने के तरीके के बारे में जानने के लिए अन्य उत्तर SO थ्रेड Deploying Hexo on Azure.. not sure what i'm missing का उल्लेख करने का प्रयास कर सकते हैं।

0

नोड कार्यों के लिए तैनाती स्क्रिप्ट, समस्या यह है कि आप इसे गैर-प्रशासनिक कमांड प्रॉम्प्ट में अपने हार्डड्राइव रूट पर उपयोग कर रहे हैं।

या तो प्रशासनिक अधिकारों के साथ कमांड प्रॉम्प्ट खोलें या उसे उस फ़ोल्डर पर चलाएं जहां आपके उपयोगकर्ता की लेखन अनुमति है (शायद आपके दस्तावेज़ फ़ोल्डर में)।

nodejs deployment script generation

अपने वेब एप्लिकेशन फ़ोल्डर में उत्पन्न फ़ाइलें जोड़ें। आपको वीएस .csproj बनाने की आवश्यकता नहीं है, क्योंकि यह क्लाइंट-केवल एप्लिकेशन है।

टाइपस्क्रिप्ट आपकी 'devDependencies' में से एक है, जिसका अर्थ यह है कि यह आपके विकास पर्यावरण पर चल रहा है, यह .js फ़ाइलों में .ts फ़ाइलों को संकलित करना चाहिए। आपको उन संकलित .js फ़ाइलों को अपने रेपो में धक्का देना चाहिए और उन्हें अपने पृष्ठों में संदर्भित करना चाहिए।

+0

उत्तर के लिए धन्यवाद। मैंने भंडार में दो जेनरेट की गई फ़ाइलें * .deployment और deploy.cmd फ़ाइल को प्रतिबद्ध किया है। लेकिन एज़ूर अभी भी इसे नेट नेट एप्लिकेशन के रूप में सोचता है, शायद इसलिए कि मैंने एएसपी बनाया है। पहली जगह नेट परियोजना। मैं अभी भी बिल्ड त्रुटियों के साथ समाप्त हो गया। विवरण के लिए कृपया मेरे अपडेट देखें। –

+0

repploy.cmd और .deployment फ़ाइलों को रेपो की रूट पर होना आवश्यक है। .csproj फ़ाइल को हटाएं, यह कूडू को यह सोचने के लिए प्रेरित कर सकता है कि यह एक नेट ऐप है :) –

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