ngx-deploy-ftp 🚀 📤
Deploy Angular apps to an FTP remote using the Angular CLI
⚠️Advisory ⚠️
Prefer alternative transfer protocols like HTTPS or SFTP (SSH). Use this library when you have no choice and need to use FTP. Try to use FTPS (FTP over TLS) whenever possible, FTP alone does not provide any security.
⚠️ Prerequisites
This package has the following prerequisites:
- Angular project created via Angular CLI v9.0.0 or higher (or upgraded using
ng update
)
📕 Usage
-
Add ngx-deploy-ftp
to your workspace (this command either requires a project passed using the --project <PROJECT_NAME>
or the first application
project present in your angular.json
)
ng add ngx-deploy-ftp
-
Deploy your app
ng deploy <OPTIONS>
📖 Options
--base-href
- optional
- Default:
undefined
(string) - Example:
ng deploy
– The tag <base href="/">
remains unchanged in your index.html
ng deploy --base-href=/sub-directory/
– The tag <base href="/sub-directory/">
is added to your index.html
Specifies the base URL for the application being built. Same as ng build --base-href=/XXX/
--configuration
- optional
- Default:
production
(string) - Example:
ng deploy
– Angular project is build in production modeng deploy --configuration=test
– Angular project is using the configuration test
(this configuration must exist in the angular.json
file)
A named build target, as specified in the configurations
section of angular.json
.
Each named target is accompanied by a configuration of option defaults for that target.
Same as ng build --configuration=XXX
.
This command has no effect if the option --no-build
option is active.
--no-build
- optional
- Default:
false
(boolean) - Example:
ng deploy
– Angular project is build in production mode before the deploymentng deploy --no-build
– Angular project is NOT build
Skip build process during deployment.
This can be used when you are sure that you haven't changed anything and want to deploy with the latest artifact.
This command causes the --configuration
setting to have no effect.
--host
- required
- Example:
ng deploy --host myftpserver.com
Specifies the target FTP host to use for deployment.
--port
- optional
- Default:
21
(number) - Example:
Specifies the FTPs port to use for deployment.
--tls
- optional
- Default:
true
(boolean) - Example:
ng deploy --tls false
- turns off TLS for FTP
Indicates to connect to the FTP server using TLS or not. (Some client may require to turn TLS off)
--username
Specifies the username to login on the FTP host.
--password
- required
- Example:
ng deploy --password passw0rd
Specifies the password to login on the FTP host.
--remote-dir
- optional
- Example:
ng deploy --remote-dir 'sub-dir-a/sub-dir-aa'
- Deploys the app to remotes sub-dir-a/sub-dir-aa
Specifies the remotes directory path to deploy the app to.
--clean-remote
- optional
- Default:
false
(boolean) - Example:
ng deploy --clean-remote
- Cleans the remotes working directory before deploying
Indicates if the remotes working directory should be cleaned before deployment.
--verbose
- optional
- Default:
false
(boolean) - Example:
Will increase the FTP clients log output. (using --dry-run
will set this to true by default)
--dry-run
- optional
- Default:
false
(boolean) - Example:
For testing: Run through without making any changes. Will connect to the FTP, change the working directory (if passed) and disconnect.
Credits
Props to following repositorys for inspiration and deeper understanding: