本文整理匯總了TypeScript中webdeployment-common/utility.js.default.canUseWebDeploy方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript js.default.canUseWebDeploy方法的具體用法?TypeScript js.default.canUseWebDeploy怎麽用?TypeScript js.default.canUseWebDeploy使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類webdeployment-common/utility.js.default
的用法示例。
在下文中一共展示了js.default.canUseWebDeploy方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: DeployWebAppStep
public async DeployWebAppStep() {
var physicalPath: string = Constant.SiteRoot;
var webPackage = this.taskParams.Package.getPath();
if(this.taskParams.VirtualApplication) {
physicalPath = await this.appServiceUtility.getPhysicalPath(this.taskParams.VirtualApplication);
await this.kuduServiceUtility.createPathIfRequired(physicalPath);
this.virtualApplicationPath = physicalPath;
}
webPackage = await FileTransformsUtility.applyTransformations(webPackage, this.taskParams);
this.taskParams.Package = new Package(webPackage);
var updateApplicationSetting = ParameterParser.parse(removeRunFromZipAppSetting)
var deleteApplicationSetting = ParameterParser.parse(deleteOldRunFromZipAppSetting)
await this.appServiceUtility.updateAndMonitorAppSettings(updateApplicationSetting, deleteApplicationSetting);
if(deployUtility.canUseWebDeploy(this.taskParams.UseWebDeploy)) {
let deploymentMethodtelemetry = '{"deploymentMethod":"Web Deploy"}';
console.log("##vso[telemetry.publish area=TaskDeploymentMethod;feature=AzureWebAppDeployment]" + deploymentMethodtelemetry);
tl.debug("Performing the deployment of webapp.");
if(!tl.osType().match(/^Win/)) {
throw Error(tl.loc("PublishusingwebdeployoptionsaresupportedonlywhenusingWindowsagent"));
}
var msDeployPublishingProfile = await this.appServiceUtility.getWebDeployPublishingProfile();
await WebDeployUtility.publishUsingWebDeploy(this.taskParams,
WebDeployUtility.constructWebDeployArguments(this.taskParams, msDeployPublishingProfile), this.appServiceUtility
);
}
else {
let deploymentMethodtelemetry = '{"deploymentMethod":"Zip API"}';
console.log("##vso[telemetry.publish area=TaskDeploymentMethod;feature=AzureWebAppDeployment]" + deploymentMethodtelemetry);
tl.debug("Initiated deployment via kudu service for webapp package : ");
await this.kuduServiceUtility.deployWebPackage(webPackage, physicalPath, this.taskParams.VirtualApplication, this.taskParams.TakeAppOfflineFlag);
}
await this.PostDeploymentStep();
}
示例2: DeployWebAppStep
public async DeployWebAppStep() {
var webPackage = packageUtility.PackageUtility.getPackagePath(this.taskParams.Package);
var isFolderBasedDeployment = deployUtility.isInputPkgIsFolder(webPackage);
var physicalPath: string = Constant.SiteRoot;
if(this.taskParams.VirtualApplication) {
physicalPath = await this.appServiceUtility.getPhysicalPath(this.taskParams.VirtualApplication);
await this.kuduServiceUtility.createPathIfRequired(physicalPath);
this.virtualApplicationPath = physicalPath;
}
webPackage = await FileTransformsUtility.applyTransformations(webPackage, this.taskParams);
if(deployUtility.canUseWebDeploy(this.taskParams.UseWebDeploy)) {
tl.debug("Performing the deployment of webapp.");
if(!tl.osType().match(/^Win/)){
throw Error(tl.loc("PublishusingwebdeployoptionsaresupportedonlywhenusingWindowsagent"));
}
if(this.taskParams.RenameFilesFlag) {
await this.appServiceUtility.enableRenameLockedFiles();
}
var msDeployPublishingProfile = await this.appServiceUtility.getWebDeployPublishingProfile();
if (webPackage.toString().toLowerCase().endsWith('.war')) {
await DeployWar(webPackage, this.taskParams, msDeployPublishingProfile, this.kuduService, this.appServiceUtility);
}
else {
await msDeploy.DeployUsingMSDeploy(webPackage, this.taskParams.WebAppName, msDeployPublishingProfile,
this.taskParams.RemoveAdditionalFilesFlag, this.taskParams.ExcludeFilesFromAppDataFlag, this.taskParams.TakeAppOfflineFlag,
this.taskParams.VirtualApplication, this.taskParams.SetParametersFile, this.taskParams.AdditionalArguments,
isFolderBasedDeployment, this.taskParams.UseWebDeploy);
}
}
else {
tl.debug("Initiated deployment via kudu service for webapp package : ");
await this.kuduServiceUtility.deployWebPackage(webPackage, physicalPath, this.taskParams.VirtualApplication, this.taskParams.TakeAppOfflineFlag);
}
await this.PostDeploymentStep();
}
示例3: main
async function main() {
let zipDeploymentID: string;
let isDeploymentSuccess: boolean = true;
let kuduServiceUtility: KuduServiceUtility;
try {
tl.setResourcePath(path.join( __dirname, 'task.json'));
var taskParams: TaskParameters = TaskParametersUtility.getParameters();
var azureEndpoint: AzureEndpoint = await new AzureRMEndpoint(taskParams.connectedServiceName).getEndpoint();
var virtualApplicationPath: string;
console.log(tl.loc('GotconnectiondetailsforazureRMWebApp0', taskParams.WebAppName));
if(!taskParams.DeployToSlotFlag) {
taskParams.ResourceGroupName = await AzureResourceFilterUtility.getResourceGroupName(azureEndpoint, taskParams.WebAppName);
}
tl.debug(`Resource Group: ${taskParams.ResourceGroupName}`);
var appService: AzureAppService = new AzureAppService(azureEndpoint, taskParams.ResourceGroupName, taskParams.WebAppName, taskParams.SlotName, taskParams.WebAppKind);
let appServiceUtility: AzureAppServiceUtility = new AzureAppServiceUtility(appService);
await appServiceUtility.pingApplication();
let kuduService: Kudu = await appServiceUtility.getKuduService();
kuduServiceUtility = new KuduServiceUtility(kuduService);
if(taskParams.WebAppUri) {
tl.setVariable(taskParams.WebAppUri, await appServiceUtility.getApplicationURL(!taskParams.isLinuxApp ? taskParams.VirtualApplication : null));
}
if(taskParams.isLinuxApp) {
switch(taskParams.ImageSource) {
case 'Builtin': {
var webPackage = packageUtility.PackageUtility.getPackagePath(taskParams.Package);
tl.debug('Performing Linux built-in package deployment');
zipDeploymentID = await kuduServiceUtility.zipDeploy(webPackage, taskParams.TakeAppOfflineFlag, { slotName: appService.getSlot() });
await appServiceUtility.updateStartupCommandAndRuntimeStack(taskParams.RuntimeStack, taskParams.StartupCommand);
break;
}
case 'Registry': {
tl.debug("Performing container based deployment.");
let containerDeploymentUtility: ContainerBasedDeploymentUtility = new ContainerBasedDeploymentUtility(appService);
await containerDeploymentUtility.deployWebAppImage(taskParams);
break;
}
default: {
throw new Error('Invalid Image source Type');
}
}
}
else {
var webPackage = packageUtility.PackageUtility.getPackagePath(taskParams.Package);
var isFolderBasedDeployment = deployUtility.isInputPkgIsFolder(webPackage);
var physicalPath: string = '/site/wwwroot';
if(taskParams.VirtualApplication) {
physicalPath = await appServiceUtility.getPhysicalPath(taskParams.VirtualApplication);
await kuduServiceUtility.createPathIfRequired(physicalPath);
virtualApplicationPath = physicalPath;
}
webPackage = await FileTransformsUtility.applyTransformations(webPackage, taskParams);
if(deployUtility.canUseWebDeploy(taskParams.UseWebDeploy)) {
tl.debug("Performing the deployment of webapp.");
if(!tl.osType().match(/^Win/)){
throw Error(tl.loc("PublishusingwebdeployoptionsaresupportedonlywhenusingWindowsagent"));
}
if(taskParams.RenameFilesFlag) {
await appServiceUtility.enableRenameLockedFiles();
}
var msDeployPublishingProfile = await appServiceUtility.getWebDeployPublishingProfile();
if (webPackage.toString().toLowerCase().endsWith('.war')) {
await DeployWar(webPackage, taskParams, msDeployPublishingProfile, kuduService, appServiceUtility);
}
else {
await msDeploy.DeployUsingMSDeploy(webPackage, taskParams.WebAppName, msDeployPublishingProfile, taskParams.RemoveAdditionalFilesFlag,
taskParams.ExcludeFilesFromAppDataFlag, taskParams.TakeAppOfflineFlag, taskParams.VirtualApplication, taskParams.SetParametersFile,
taskParams.AdditionalArguments, isFolderBasedDeployment, taskParams.UseWebDeploy);
}
}
else {
tl.debug("Initiated deployment via kudu service for webapp package : ");
await kuduServiceUtility.deployWebPackage(webPackage, physicalPath, taskParams.VirtualApplication, taskParams.TakeAppOfflineFlag);
}
}
if(!taskParams.isContainerWebApp) {
if(taskParams.AppSettings) {
var customApplicationSettings = ParameterParser.parse(taskParams.AppSettings);
await appServiceUtility.updateAndMonitorAppSettings(customApplicationSettings);
}
if(taskParams.ConfigurationSettings) {
var customApplicationSettings = ParameterParser.parse(taskParams.ConfigurationSettings);
await appServiceUtility.updateConfigurationSettings(customApplicationSettings);
}
}
else {
tl.debug('App Settings and config settings are already updated during container based deployment.')
}
if(taskParams.ScriptType) {
//.........這裏部分代碼省略.........
示例4: run
//.........這裏部分代碼省略.........
else {
throw Error(tl.loc("VirtualApplicationDoesNotExist", virtualApplication));
}
}
var isFolderBasedDeployment = deployUtility.isInputPkgIsFolder(webDeployPkg);
var applyFileTransformFlag = JSONFiles.length != 0 || xmlTransformation || xmlVariableSubstitution;
if (applyFileTransformFlag || generateWebConfig) {
var folderPath = await deployUtility.generateTemporaryFolderForDeployment(isFolderBasedDeployment, webDeployPkg);
if (generateWebConfig) {
tl.debug('parsing web.config parameters');
var webConfigParameters = ParameterParser.parse(webConfigParametersStr);
generateWebConfigUtil.addWebConfigFile(folderPath, webConfigParameters, virtualApplicationPhysicalPath);
}
if (applyFileTransformFlag) {
var isMSBuildPackage = !isFolderBasedDeployment && (await deployUtility.isMSDeployPackage(webDeployPkg));
fileTransformationsUtility.fileTransformations(isFolderBasedDeployment, JSONFiles, xmlTransformation, xmlVariableSubstitution, folderPath, isMSBuildPackage);
}
var output = await deployUtility.archiveFolderForDeployment(isFolderBasedDeployment, folderPath);
tempPackagePath = output.tempPackagePath;
webDeployPkg = output.webDeployPkg;
}
if(virtualApplication) {
publishingProfile.destinationAppUrl += "/" + virtualApplication;
}
if(webAppUri) {
tl.setVariable(webAppUri, publishingProfile.destinationAppUrl);
}
if(publishingProfile && publishingProfile.destinationAppUrl) {
try{
await azureRESTUtility.testAzureWebAppAvailability(publishingProfile.destinationAppUrl, 3000);
} catch (error) {
tl.debug("Failed to check availability of azure web app, error : " + error.message);
}
}
if(deployUtility.canUseWebDeploy(useWebDeploy)) {
if(!tl.osType().match(/^Win/)){
throw Error(tl.loc("PublishusingwebdeployoptionsaresupportedonlywhenusingWindowsagent"));
}
var appSettings = await azureRESTUtility.getWebAppAppSettings(endPoint, webAppName, resourceGroupName, deployToSlotFlag, slotName);
if(renameFilesFlag) {
if(appSettings.properties.MSDEPLOY_RENAME_LOCKED_FILES == undefined || appSettings.properties.MSDEPLOY_RENAME_LOCKED_FILES == '0'){
appSettings.properties.MSDEPLOY_RENAME_LOCKED_FILES = '1';
await azureRESTUtility.updateWebAppAppSettings(endPoint, webAppName, resourceGroupName, deployToSlotFlag, slotName, appSettings);
}
}
else {
if(appSettings.properties.MSDEPLOY_RENAME_LOCKED_FILES != undefined && appSettings.properties.MSDEPLOY_RENAME_LOCKED_FILES != '0'){
delete appSettings.properties.MSDEPLOY_RENAME_LOCKED_FILES;
await azureRESTUtility.updateWebAppAppSettings(endPoint, webAppName, resourceGroupName, deployToSlotFlag, slotName, appSettings);
}
}
console.log("##vso[task.setvariable variable=websiteUserName;issecret=true;]" + publishingProfile.userName);
console.log("##vso[task.setvariable variable=websitePassword;issecret=true;]" + publishingProfile.userPWD);
await msDeploy.DeployUsingMSDeploy(webDeployPkg, webAppName, publishingProfile, removeAdditionalFilesFlag,
excludeFilesFromAppDataFlag, takeAppOfflineFlag, virtualApplication, setParametersFile,
additionalArguments, isFolderBasedDeployment, useWebDeploy);
} else {
tl.debug("Initiated deployment via kudu service for webapp package : " + webDeployPkg);
if(azureWebAppDetails == null) {
azureWebAppDetails = await azureRESTUtility.getAzureRMWebAppConfigDetails(endPoint, webAppName, resourceGroupName, deployToSlotFlag, slotName);
}
await DeployUsingKuduDeploy(webDeployPkg, azureWebAppDetails, publishingProfile, virtualApplication, isFolderBasedDeployment, takeAppOfflineFlag);
}
if(scriptType) {
var kuduWorkingDirectory = virtualApplication ? virtualApplicationPhysicalPath : 'site/wwwroot';
await kuduUtility.runPostDeploymentScript(publishingProfile, kuduWorkingDirectory, scriptType, inlineScript, scriptPath, takeAppOfflineFlag);
}
}
await updateWebAppConfigDetails(endPoint, webAppName, resourceGroupName, deployToSlotFlag, slotName);
}
catch (error) {
isDeploymentSuccess = false;
tl.setResult(tl.TaskResult.Failed, error);
}
if(publishingProfile != null) {
var customMessage = {
type: "Deployment",
slotName: (deployToSlotFlag ? slotName : "Production")
};
try {
console.log(await azureRESTUtility.updateDeploymentStatus(publishingProfile, isDeploymentSuccess, customMessage));
}
catch(error) {
tl.warning(error);
}
}
if(tempPackagePath) {
tl.rmRF(tempPackagePath);
}
}
示例5: run
async function run() {
try {
tl.setResourcePath(path.join( __dirname, 'task.json'));
var connectedServiceName = tl.getInput('ConnectedServiceName', true);
var webAppName: string = tl.getInput('WebAppName', true);
var deployToSlotFlag: boolean = tl.getBoolInput('DeployToSlotFlag', false);
var resourceGroupName: string = tl.getInput('ResourceGroupName', false);
var slotName: string = tl.getInput('SlotName', false);
var webDeployPkg: string = tl.getPathInput('Package', true);
var virtualApplication: string = tl.getInput('VirtualApplication', false);
var useWebDeploy: boolean = tl.getBoolInput('UseWebDeploy', false);
var setParametersFile: string = tl.getPathInput('SetParametersFile', false);
var removeAdditionalFilesFlag: boolean = tl.getBoolInput('RemoveAdditionalFilesFlag', false);
var excludeFilesFromAppDataFlag: boolean = tl.getBoolInput('ExcludeFilesFromAppDataFlag', false);
var takeAppOfflineFlag: boolean = tl.getBoolInput('TakeAppOfflineFlag', false);
var renameFilesFlag: boolean = tl.getBoolInput('RenameFilesFlag', false);
var additionalArguments: string = tl.getInput('AdditionalArguments', false);
var webAppUri:string = tl.getInput('WebAppUri', false);
var xmlTransformation: boolean = tl.getBoolInput('XmlTransformation', false);
var JSONFiles = tl.getDelimitedInput('JSONFiles', '\n', false);
var xmlVariableSubstitution: boolean = tl.getBoolInput('XmlVariableSubstitution', false);
var endPointAuthCreds = tl.getEndpointAuthorization(connectedServiceName, true);
var isDeploymentSuccess: boolean = true;
var tempPackagePath = null;
var endPoint = new Array();
endPoint["servicePrincipalClientID"] = tl.getEndpointAuthorizationParameter(connectedServiceName, 'serviceprincipalid', true);
endPoint["servicePrincipalKey"] = tl.getEndpointAuthorizationParameter(connectedServiceName, 'serviceprincipalkey', true);
endPoint["tenantID"] = tl.getEndpointAuthorizationParameter(connectedServiceName, 'tenantid', true);
endPoint["subscriptionId"] = tl.getEndpointDataParameter(connectedServiceName, 'subscriptionid', true);
endPoint["url"] = tl.getEndpointUrl(connectedServiceName, true);
if(deployToSlotFlag) {
if(slotName.toLowerCase() === "production") {
deployToSlotFlag = false;
}
}
else {
resourceGroupName = await azureRESTUtility.getResourceGroupName(endPoint, webAppName);
}
var publishingProfile = await azureRESTUtility.getAzureRMWebAppPublishProfile(endPoint, webAppName, resourceGroupName, deployToSlotFlag, slotName);
console.log(tl.loc('GotconnectiondetailsforazureRMWebApp0', webAppName));
var availableWebPackages = utility.findfiles(webDeployPkg);
if(availableWebPackages.length == 0) {
throw new Error(tl.loc('Nopackagefoundwithspecifiedpattern'));
}
if(availableWebPackages.length > 1) {
throw new Error(tl.loc('MorethanonepackagematchedwithspecifiedpatternPleaserestrainthesearchpattern'));
}
webDeployPkg = availableWebPackages[0];
var isFolderBasedDeployment = utility.isInputPkgIsFolder(webDeployPkg);
if(JSONFiles.length != 0 || xmlTransformation || xmlVariableSubstitution) {
var output = await fileTransformationsUtility.fileTransformations(isFolderBasedDeployment, JSONFiles, xmlTransformation, xmlVariableSubstitution, webDeployPkg);
tempPackagePath = output.tempPackagePath;
webDeployPkg = output.webDeployPkg;
}
if(virtualApplication) {
publishingProfile.destinationAppUrl += "/" + virtualApplication;
}
if(webAppUri) {
tl.setVariable(webAppUri, publishingProfile.destinationAppUrl);
}
var azureWebAppDetails = null;
if(virtualApplication) {
azureWebAppDetails = await azureRESTUtility.getAzureRMWebAppConfigDetails(endPoint, webAppName, resourceGroupName, deployToSlotFlag, slotName);
var virtualApplicationMappings = azureWebAppDetails.properties.virtualApplications;
var pathMappings = kuduUtility.getVirtualAndPhysicalPaths(virtualApplication, virtualApplicationMappings);
if(pathMappings[1] != null) {
await kuduUtility.ensurePhysicalPathExists(publishingProfile, pathMappings[1]);
} else {
throw Error(tl.loc("VirtualApplicationDoesNotExist", virtualApplication));
}
}
if(utility.canUseWebDeploy(useWebDeploy)) {
if(!tl.osType().match(/^Win/)){
throw Error(tl.loc("PublishusingwebdeployoptionsaresupportedonlywhenusingWindowsagent"));
}
var appSettings = await azureRESTUtility.getWebAppAppSettings(endPoint, webAppName, resourceGroupName, deployToSlotFlag, slotName);
if(renameFilesFlag) {
if(appSettings.properties.MSDEPLOY_RENAME_LOCKED_FILES == undefined || appSettings.properties.MSDEPLOY_RENAME_LOCKED_FILES == '0'){
appSettings.properties.MSDEPLOY_RENAME_LOCKED_FILES = '1';
await azureRESTUtility.updateWebAppAppSettings(endPoint, webAppName, resourceGroupName, deployToSlotFlag, slotName, appSettings);
}
}
else {
if(appSettings.properties.MSDEPLOY_RENAME_LOCKED_FILES != undefined && appSettings.properties.MSDEPLOY_RENAME_LOCKED_FILES != '0'){
delete appSettings.properties.MSDEPLOY_RENAME_LOCKED_FILES;
await azureRESTUtility.updateWebAppAppSettings(endPoint, webAppName, resourceGroupName, deployToSlotFlag, slotName, appSettings);
//.........這裏部分代碼省略.........