Deployment
for Windows and Linux
for macOS
Ctrl+Alt+S
In this section:
- Deployment
- Deployment: Connection Tab
- Deployment: Mappings Tab
- Deployment: Excluded Paths Tab
- Add Server Dialog
- Options
- Advanced Options Dialog
- Files/Folders Default Permissions Dialog
Basics
On this page, create, edit, and delete server access configurations that give you control over interaction between IntelliJ IDEA and servers. Anytime you are going to use a server, you need to define a server access configurations, no matter whether your server is on a remote host or on your computer.
Among numerous ways to configure your development and production environments the most frequent ones are as follows:
- The Web server is installed on your computer. The sources are under the server document root (for example,
/htdocs
), and you do your development right on the server. - The Web server is installed on your computer but the sources are stored in another folder. You do your development, then copy the sources to the server.
- The Web server is on another computer (remote host). Files on the server are available through the FTP/SFTP/FTPS protocol, through a network share, or a mounted drive.
Note that IntelliJ IDEA assumes that all development, debugging, and testing is done on your computer and then the code is deployed to a production environment. For detailed reasoning of this approach, see Deployment. Working with Web Servers
Let's define the terms and their meaning in the context of synchronization between IntelliJ IDEA and servers.
- An in-place server is a server whose document root is the parent of the project root, either immediate or not. In other words, the Web server is running on your computer, your project is under its document root, and you do your development directly on the server.
- A local server is a server that is running in a local or a mounted folder and whose document root is NOT the parent of the project root.
- A remote server is a server on another computer (remote host).
- The server configuration root is the highest folder in the file tree on the local or remote server accessible through the server configuration. For in-place servers, it is the project root.
- A local file/folder is any file or folder under the project root.
- A remote file/folder is any file or folder on the server, either local or remote.
Suppose you have a project
C:/Projects/My_Project/
with a folderC:/Projects/My_Project/My_Folder
and a local server with the document root inC:/xampp/htdocs
. You upload the entire project tree toC:/xampp/htdocs/My_Project
. In the terms of IntelliJ IDEA, the folderC:/Projects/My_Project/My_Folder
is referred to as local and the folderC:/xampp/htdocs/My_Project/My_Folder
is referred to as remote. - Upload is copying data from the project TO the server, either local or remote.
- Download is copying data FROM the server to the project.
Synchronization with servers, uploading, downloading, and managing files on them are provided via the Remote Hosts Access bundled plugin, which is by default enabled. If the plugin is disabled, activate it in the Plugins page of the Settings dialog box. For details, see Enabling and Disabling Plugins. Note that the plugin is available only for the Ultimate Edition of IntelliJ IDEA.
Toolbar and common options
Use the toolbar buttons to manage the list of configurations.
The left-hand pane shows a list of all the server access configurations available in IntelliJ IDEA. When you select a configuration, the right-hand pane shows the configuration details.
Item | Tooltip and shortcut | Description |
---|---|---|
![]() | Add Insert | Click this button to open the Add Server dialog box and define a new configuration there. |
![]() | Delete Delete | Click this button to remove the selected configuration from the list. |
![]() | Copy Ctrl+D | Click this button to copy the settings of the selected configuration. |
![]() | Use as Default | Click this button to have IntelliJ IDEA apply the settings of the selected configuration by default during automatic upload of changed files. |