You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- You must have ftp access to your server. If your host requires ssh please use my web-deploy action
36
+
- You must have ftp access to your server. If your host requires ssh please use my web-deploy action (coming soon)
39
37
- Some web hosts change the default port (21), check with your host for your port number
40
38
41
39
---
@@ -47,6 +45,7 @@ jobs:
47
45
4. Paste the example above into your yaml file and save
48
46
5. Now you need to add a key to the `secrets` section in your project. To add a `secret` go to the `Settings` tab in your project then select `Secrets`. Add a new `Secret` for `password`
49
47
6. Update your yaml file settings
48
+
7. If you appreciate this github action give it a :star: or show off with one of the [badges below](#badge).
50
49
51
50
---
52
51
@@ -56,21 +55,21 @@ Keys can be added directly to your .yml config file or referenced from your proj
56
55
To add a `secret` go to the `Settings` tab in your project then select `Secrets`.
57
56
I strongly recommend you store your `password` as a secret.
58
57
59
-
| Key Name | Required | Example | Default Value | Description |
| `password` | Yes | `CrazyUniquePassword&%123` | | FTP password, be sure to escape quotes and spaces |
64
-
| `port` | No | `990` | `21` | Server port to connect to (read your web hosts docs) |
65
-
| `protocol` | No | `ftps` | `ftp` | ftp: provides no encryption, ftps: full encryption newest standard (aka "explicit" ftps), ftps-legacy: full encryption legacy standard (aka "implicit" ftps) |
66
-
| `local-dir` | No | `./myFolderToPublish/` | `./` | Path to upload to on the server, must end with trailing slash `/` |
67
-
| `server-dir` | No | `public_html/www/` | `./` | Folder to upload from, must end with trailing slash `/` |
68
-
| `state-name` | No | `folder/.sync-state.json` | `.ftp-deploy-sync-state.json` | Path and name of the state file - this file is used to track which files have been deployed |
69
-
| `dry-run` | No | `true` | `false` | Prints which modifications will be made with current config options, but doesn't actually make any changes |
70
-
| `dangerous-clean-slate` | No | `true` | `false` | Deletes ALL contents of server-dir, even items in excluded with 'exclude' argument |
71
-
| `exclude` | No | | `.git*` `.git*/**` `node_modules/**` `node_modules/**/*` | An array of glob patterns, these files will not be included in the publish/delete process |
72
-
| `log-level` | No | `minimal` | `standard` | `minimal`: only important info, `standard`: important info and basic file changes, `verbose`: print everything the script is doing |
73
-
| `security` | No | `strict` | `loose` | `strict`: Reject any connection which is not authorized with the list of supplied CAs. `loose`: Allow connection even when the domain is not certificate |
58
+
| Key Name | Required | Example | Default Value | Description |
| `password` | Yes | `CrazyUniquePassword&%123` | | FTP password, be sure to escape quotes and spaces |
63
+
| `port` | No | `990` | `21` | Server port to connect to (read your web hosts docs) |
64
+
| `protocol` | No | `ftps` | `ftp` | `ftp`: provides no encryption, `ftps`: full encryption newest standard (aka "explicit" ftps), `ftps-legacy`: full encryption legacy standard (aka "implicit" ftps) |
65
+
| `local-dir` | No | `./myFolderToPublish/` | `./` | Path to upload to on the server, must end with trailing slash `/` |
66
+
| `server-dir` | No | `public_html/www/` | `./` | Folder to upload from, must end with trailing slash `/` |
67
+
| `state-name` | No | `folder/.sync-state.json` | `.ftp-deploy-sync-state.json` | Path and name of the state file - this file is used to track which files have been deployed |
68
+
| `dry-run` | No | `true` | `false` | Prints which modifications will be made with current config options, but doesn't actually make any changes |
69
+
| `dangerous-clean-slate` | No | `true` | `false` | Deletes ALL contents of server-dir, even items in excluded with 'exclude' argument |
70
+
| `exclude` | No | | `.git*` `.git*/**` `node_modules/**` `node_modules/**/*` | An array of glob patterns, these files will not be included in the publish/delete process |
71
+
| `log-level` | No | `minimal` | `standard` | `minimal`: only important info, `standard`: important info and basic file changes, `verbose`: print everything the script is doing |
72
+
| `security` | No | `strict` | `loose` | `strict`: Reject any connection which is not authorized with the list of supplied CAs. `loose`: Allow connection even when the domain is not certificate |
@@ -154,9 +153,9 @@ _Want another example? Let me know by creating a [github issue](https://github.c
154
153
155
154
---
156
155
157
-
## Badges
156
+
## Badge
158
157
159
-
If you appreciate this github action give it a :star: or show off with one of the badges below.
158
+
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.
160
159
161
160
[<img alt="Deployed with FTP Deploy Action" src="https://img.shields.io/badge/Deployed With-FTP DEPLOY ACTION-%3CCOLOR%3E?style=for-the-badge&color=0077b6">](https://github.com/SamKirkland/FTP-Deploy-Action)
162
161
@@ -239,7 +238,7 @@ jobs:
239
238
This action is a basic wrapper around my `@samkirkland/ftp-deploy` npm package. To test your config you can install [@samkirkland/ftp-deploy](https://github.com/SamKirkland/ftp-deploy) and then convert your config to a yml action. Settings are one-to-one, this action is only a wrapper.
240
239
241
240
## Contributing to this project
242
-
To run this code locally you will need to setup docker and act to run a environment similar to the one github uses for actions.
241
+
To test this action locally you will need to setup **docker** and **act** to run a environment similar to the one github uses for actions.
243
242
- Download/install docker for windows, make sure it is running
Migrating from v3 to v4 should be fairly straightforward. Version 4 was designed with speed and ease of initial setup in mind. Going forward version 4 will be the only supported version.
4
+
5
+
#### Those who can't upgrade
6
+
Most features have been carried forward and improved upon. However, some features did not make the cut.
7
+
-**`sftp` is no longer supported**. If you have `sftp` access you are using `ssh`, that means you have access to a much more modern and capable protocol. I plan on releasing a separate github action that will deploy over `sftp`/`ssh` using `rsync`. Until then you can continue using version 3.
8
+
- The `include` argument has been removed. I didn't see much need for it in the initial release. If you need this feature please create a support ticket.
9
+
10
+
---
11
+
12
+
### How to upgrade
13
+
14
+
1) Remove `with: fetch-depth: 2`. It is no longer needed and removing it will _slightly_ speed up deployments.
15
+
2) Change the version to `4.X.X`, for example `SamKirkland/[email protected]` (please check readme for latest version)
16
+
3) If you have a `.git-ftp-include` file you should delete it. Version 4 tracks files differently and no longer needs this config file.
17
+
4) If you have a `.git-ftp-ignore` file, you should transfer the options to the new `exclude` argument. _Note: Version 4 excludes any `.git*` and `node_modules/` files/folders by default_
18
+
5) Update your arguments to reflect the following changes
19
+
*`ftp-server` was split into 4 arguments. `server`, `port`, `protocol`, and `server-dir`. Transfer your config to these options as needed.
20
+
*`ftp-username` was renamed to `username`
21
+
*`ftp-password` was renamed to `password`
22
+
*`local-dir` and `server-dir` now **must** end with `/`
23
+
*`git-ftp-args` and `known-hosts` arguments were removed
0 commit comments