Skip to content

Commit c11fc86

Browse files
add target webapp/registry as deployment target when deploying image to webapp.
1 parent cd7f3b9 commit c11fc86

File tree

1 file changed

+19
-0
lines changed
  • PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-appservice-java/src/main/java/com/microsoft/azure/toolkit/intellij/legacy/webapp/runner/webapponlinux

1 file changed

+19
-0
lines changed

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-appservice-java/src/main/java/com/microsoft/azure/toolkit/intellij/legacy/webapp/runner/webapponlinux/WebAppOnLinuxDeployState.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,11 @@
66
package com.microsoft.azure.toolkit.intellij.legacy.webapp.runner.webapponlinux;
77

88
import com.intellij.openapi.project.Project;
9+
import com.intellij.openapi.vfs.VfsUtil;
910
import com.microsoft.azure.toolkit.ide.appservice.webapp.model.WebAppConfig;
1011
import com.microsoft.azure.toolkit.intellij.common.RunProcessHandler;
12+
import com.microsoft.azure.toolkit.intellij.connector.dotazure.AzureModule;
13+
import com.microsoft.azure.toolkit.intellij.connector.dotazure.Profile;
1114
import com.microsoft.azure.toolkit.intellij.container.model.DockerImage;
1215
import com.microsoft.azure.toolkit.intellij.containerregistry.ContainerService;
1316
import com.microsoft.azure.toolkit.intellij.legacy.common.AzureRunProfileState;
@@ -16,8 +19,11 @@
1619
import com.microsoft.azure.toolkit.lib.appservice.config.AppServiceConfig;
1720
import com.microsoft.azure.toolkit.lib.appservice.config.RuntimeConfig;
1821
import com.microsoft.azure.toolkit.lib.appservice.task.CreateOrUpdateWebAppTask;
22+
import com.microsoft.azure.toolkit.lib.appservice.webapp.AzureWebApp;
23+
import com.microsoft.azure.toolkit.lib.appservice.webapp.WebApp;
1924
import com.microsoft.azure.toolkit.lib.common.operation.AzureOperation;
2025
import com.microsoft.azure.toolkit.lib.common.operation.OperationContext;
26+
import com.microsoft.azure.toolkit.lib.common.task.AzureTaskManager;
2127
import com.microsoft.azure.toolkit.lib.containerregistry.AzureContainerRegistry;
2228
import com.microsoft.azure.toolkit.lib.containerregistry.ContainerRegistry;
2329
import com.microsoft.azure.toolkit.lib.legacy.webapp.WebAppService;
@@ -59,6 +65,19 @@ public WebAppOnLinuxDeployState(Project project, WebAppOnLinuxDeployConfiguratio
5965
appSettings.put(WEBSITES_PORT, String.valueOf(configuration.getPort()));
6066
webAppConfig.setAppSettings(appSettings);
6167
final AppServiceConfig appServiceConfig = WebAppService.convertToTaskConfig(webAppConfig);
68+
final WebApp webapp = Azure.az(AzureWebApp.class).webApps(appServiceConfig.subscriptionId()).getOrDraft(appServiceConfig.appName(), appServiceConfig.resourceGroup());
69+
70+
final AzureTaskManager tm = AzureTaskManager.getInstance();
71+
tm.runOnPooledThread(() -> Optional.ofNullable(image)
72+
.map(DockerImage::getDockerFile)
73+
.map(f -> VfsUtil.findFileByIoFile(f, true))
74+
.map(f -> AzureModule.from(f, this.project))
75+
.ifPresent(module -> tm.runLater(() -> tm.write(() -> {
76+
final Profile p = module.initializeWithDefaultProfileIfNot();
77+
Optional.of(registry).ifPresent(p::addApp);
78+
Optional.of(webapp).ifPresent(p::addApp);
79+
p.save();
80+
}))));
6281
// update image configuration
6382
final RuntimeConfig runtime = appServiceConfig.runtime();
6483
final DockerImage dockerImageConfiguration = configuration.getDockerImageConfiguration();

0 commit comments

Comments
 (0)