Skip to content
This repository has been archived by the owner on Mar 10, 2024. It is now read-only.
/ ngx-deploy-ftp Public archive

Deploy Angular apps to an FTP remote using the Angular CLI

License

Notifications You must be signed in to change notification settings

bohoffi/ngx-deploy-ftp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ngx-deploy-ftp 🚀 📤

Deploy Angular apps to an FTP remote using the Angular CLI

npm version Apache 2.0 PR-builder

⚠️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

  1. 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
  2. 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 mode
    • ng 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 deployment
    • ng 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:
    • ng deploy --port 1234

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

  • required
  • Example:
    • ng deploy --username bob

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:
    • ng deploy --verbose

Will increase the FTP clients log output. (using --dry-run will set this to true by default)

--dry-run

  • optional
  • Default: false (boolean)
  • Example:
    • ng deploy --dry-run

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: