Deployment capabilities will be significantly improved in the upcoming major PhpStorm release. Read on to find out what’s new, and try it today in our second EAP build.
Last week we launched the Early Access Program for PhpStorm 2021.3, and we are going to be releasing updates every week for the next two months.
PhpStorm allows you to upload files to a remote server. In version 2021.3, we’re making this process faster and adding some highly anticipated options.
All deployment settings are available at Settings/Preferences | Build, Execution, Deployment | Deployment.
Support for rscync
When using an SFTP server for deployment, you’ll see a new rsync option under the Advanced section.
Using rsync will result in significantly faster deploymenst!
Here is a benchmark on uploading Drupal 8 (12,757 files, 120 MB, SFTP on local Docker):
Rsync option disabled: 6.26 minutes
Rsync option enabled: 38.192 seconds – a 9x speedup!
To activate rsync, you’ll need to tick the `Use rsync for download/upload` checkbox for the SFTP server as shown below:
The path to the rsync executable is configured under Settings/Preferences | Tools | Rsync:
For macOS and Linux, it should be available right away. For Windows, we recommend using Cygwin and OpenSSH.
When configured correctly, rsync will be used to upload and download files and folders, including when you use auto-uploading and drag-and-drop.
SFTP will still be used to provide navigation in the Remote Host tool window and for some operations like Delete, Create Folder, Move, Change Permissions, etc.
Also, the Sync command still uses SFTP to get the list of differences and to upload or download.
Retransmit files that failed to upload
When uploading to a server, files can fail to be uploaded for any number of reasons. PhpStorm 2021.3, however, will make it easy for you to retry uploading.
You’ll see a Retry link in the File Transfer tool window if anything failed during the upload.
Speedup for SFTP/FTP/FTPS with multithreaded connection
We’ve prepared a highly anticipated implementation for multithreaded deployment. The following operations are currently supported: Upload, Download, and Drag and Drop. Sync and auto-upload are out of the scope and are not supported.
A new option, Number of connections, is located under the Advanced section in SFTP/FTP/FTPS server configuration area available at Settings/Preferences | Build, Execution, Deployment | Deployment. It is set to 5 by default:
Other enhancements for deployment
Upload all opened files
If you open multiple files in different tabs, you will be able to upload all of them with a single command, Upload All Open Files to…. It’s available under Tools | Deployment, via Search for action (Cmd/Ctrl+Shift+A), or from the context menu of any file.
Quickly switch default server for project
In PhpStorm 2021.3, the status bar will have a new widget that shows the current default server. You will be able to switch it right from the status bar, as well. This can come in handy when you need to deal with multiple environments.
For the full list of changes in the EAP #2 build, please see the release notes.
Important! PhpStorm EAP builds are not fully tested and may be unstable.
You can install an EAP build side by side with a stable PhpStorm version to try out the latest features.
EAP builds are free to use and don’t require a license. But they expire 30 days after the build date, and you’ll have to download a new build.
Please let us know about any problems you find by reporting them to our issue tracker or by commenting on this post.
Your JetBrains PhpStorm team
The Drive to Develop