이것은 조금 오래되었지만 누군가가이 질문을 접할 경우를 대비하여 어쨌든 대답 할 것입니다. 진단 콘솔 및 배포 로그 모두 ANSI 코드로 투쟁
첫째, 비활성화 색상 꿀꿀을 실행하는 데 도움이됩니다. 이렇게하려면 grunt --no-color
을 실행하십시오. 이렇게하면 STDOUT 정보가 다시 콘솔과 배포 로그로 전달됩니다.
둘째, 노드 또는 NPM의 체크인 버전 사용을 권장하지 않습니다. Windows Azure는 이미 이러한 환경을 구축했으며 이미 최적의 상태로 실행하는 데 필요한 특수 임시 경로와 캐시 경로를 위해 구성되었습니다.
Project Kudu은 Azure Deployments에 전원을 공급하는 배포 엔진이지만 .deployment 파일이 있기 때문에 이미 알고 있습니다. 그러나 Azure 명령 행 도구 [npm install azure-cli --global
]는 Azure의 미리 설치된 노드 및 NPM 설정을 사용하는 몇 가지 배포 스크립트를 준비하는 데 도움이됩니다.
azure site deploymentscript –-node
기본 노드 스크립트가 제공됩니다.
그루트를 안정적으로 실행하려면 몇 가지 수정이 필요합니다 (deploy.sh
). deploy.sh
내에 # 배치 섹션이 있습니다. 당신의 /wwwroot
에 (bower.json 존재하는 경우) (Gruntfile.js있는 경우)이 grunt clean common dist
다음, bower install
다음 npm install
을 실행
# Deployment
# ----------
echo Handling node.js grunt deployment.
# 1. Select node version
selectNodeVersion
# 2. Install npm packages
if [ -e "$DEPLOYMENT_SOURCE/package.json" ]; then
eval $NPM_CMD install
exitWithMessageOnError "npm failed"
fi
# 3. Install bower packages
if [ -e "$DEPLOYMENT_SOURCE/bower.json" ]; then
eval $NPM_CMD install bower
exitWithMessageOnError "installing bower failed"
./node_modules/.bin/bower install
exitWithMessageOnError "bower failed"
fi
# 4. Run grunt
if [ -e "$DEPLOYMENT_SOURCE/Gruntfile.js" ]; then
eval $NPM_CMD install grunt-cli
exitWithMessageOnError "installing grunt failed"
./node_modules/.bin/grunt --no-color clean common dist
exitWithMessageOnError "grunt failed"
fi
# 5. KuduSync to Target
"$KUDU_SYNC_CMD" -v 500 -f "$DEPLOYMENT_SOURCE/dist" -t "$DEPLOYMENT_TARGET" -n "$NEXT_MANIFEST_PATH" -p "$PREVIOUS_MANIFEST_PATH" -i ".git;.hg;.deployment;deploy.sh"
exitWithMessageOnError "Kudu Sync to Target failed"
, 그리고 마지막으로 KuduSync 다음에 그 내용을 교체합니다. (참고 : '깨끗한 공통 dist'를 실행할 필요가있는 어떤 Grunt 작업으로 바꾸십시오.)
실행할 수있는 몇 가지 다른 문제가 있습니다. 나는 이것을 실행할 수있는 몇 가지 이슈들을 포함하고있는 post on my personal blog에 씁니다.
'원격 실행 콘솔'이라고 말하면 무엇을 말하고 있습니까? scm 서비스의 루트 (git url과 동일한 호스트 이름)에서 진단 콘솔을 시작하십시오. 거기서 실패합니까? 정확한 출력을 붙여 넣을 수 있습니까? 또한 공유 할 수있는 최소 레포가있는 경우 조사하는 것이 도움이됩니다. 뭔가가 샌드 박스에 의해 차단 될 가능성이 있습니다. –
@DavidEbbo 그래요. 진단 콘솔을 말하는 겁니다. 거기서 실패합니다. C 프롬프트를 되 찾을 수 있습니다. 나는 파일을 복사하고 복사 한 후 일부를 지우고 (필요하지 않지만 힘내 하위 모듈의 일부), 몇 개의 템플릿을 실행하고 환경 변수를 파싱한다. 아주 표준적인 것들. 샌드 박스에 의해 차단되는 것들의 분류는 무엇입니까? –
정확히 샌드 박스 블록이 미묘 할 수 있습니다. 더 많은 정보가있는 진단 덤프 (https://github.com/projectkudu/kudu/wiki/Investigating-issues#getting-the-diagnostic-dump)를보고 싶을 수도 있습니다. 자신이보고있는 것을 정확히 볼 수있는 최소한의 레포를 공유 할 수있는 방법이 있다면, 우리는 무슨 일이 일어나고 있는지 파악할 수 있어야합니다. –