back to home

SamKirkland / FTP-Deploy-Action

Deploys a GitHub project to a FTP server using GitHub actions

4,862 stars
426 forks
146 issues
TypeScript

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing SamKirkland/FTP-Deploy-Action in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Source files are only loaded when you start an analysis to optimize performance.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind.in/repo/SamKirkland/FTP-Deploy-Action)
Preview:Analyzed by RepoMind

Repository Overview (README excerpt)

Crawler view

Automate deploying websites and more with this GitHub action. **It's free!** --- Usage Example Place the following in --- Requirements • You must have ftp access to your server. If your host allows or requires ssh please use my web-deploy action • Some web hosts change the default port (21), check with your host for your port number --- Setup Steps • Select the repository you want to add the action to • Select the tab • Select or , if you don't see these options manually create a yaml file • Paste the example above into your yaml file and save • Now you need to add a key to the section in your project. To add a go to the tab in your project then select . Add a new for • Update your yaml file settings • If you appreciate this github action give it a :star: or show off with one of the badges below. --- Settings Keys can be added directly to your .yml config file or referenced from your project storage. To add a go to the tab in your project then select . I strongly recommend you store your as a secret. | Key Name | Required | Example | Default Value | Description | |-------------------------|----------|-------------------------------|-------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | | Yes | | | Deployment destination server | | | Yes | | | FTP user name | | | Yes | | | FTP password, be sure to escape quotes and spaces | | | No | | | Server port to connect to (read your web hosts docs) | | | No | | | : provides no encryption, : full encryption newest standard (aka "explicit" ftps), : full encryption legacy standard (aka "implicit" ftps) | | | No | | | Folder to upload from, must end with trailing slash | | | No | | | Folder to upload to (on the server), must end with trailing slash | | | No | | | Path and name of the state file - this file is used to track which files have been deployed | | | No | | | Prints which modifications will be made with current config options, but doesn't actually make any changes | | | No | | | Deletes ALL contents of server-dir, even items in excluded with 'exclude' argument | | | No | See Example | See Example | An array of glob patterns, these files will not be included in the publish/delete process. List MUST be in this format. You can use a glob tester to test your pattern(s). | | | No | | | : only important info, : important info and basic file changes, : print everything the script is doing | | | No | | | : Reject any connection which is not authorized with the list of supplied CAs. : Allow connection even when the domain is not certificate | | | No | | | Timeout in milliseconds for FTP operations | Common Examples Build and Publish React/Angular/Vue Website Make sure you have an npm script named 'build'. This config should work for most node built websites. FTPS Log only dry run: Use this option for testing Ouputs a list of files that will be created/modified to sync your source without making any actual changes Exclude files Excludes files has the following default value if you overwrite the default value you will probably want to respecify them --- _Want another example? Let me know by creating a github issue_ --- Badge If you appreciate this github action give it a :star: or show off with one of the badges below. Feel free to edit the text or color. --- --- FAQ How to exclude .git files from the publish Git files are excluded by default! If you customize the option make sure you re-add the default options. How to exclude a specific file or folder You can use the option to ignore specific files/folders from the publish. Keep in mind you will need to re-add the default exclude options if you want to keep them. For example the below option excludes all files. How do I set _...truncated for preview_