drone-ftps/README.md

98 lines
2.9 KiB
Markdown
Raw Normal View History

2017-10-26 00:22:00 +00:00
# Deploy to FTP(S) server from Drone CI
2022-07-27 06:14:19 +00:00
[![Docker Stars](https://badgen.net/docker/stars/cschlosser/drone-ftps)](https://hub.docker.com/r/cschlosser/drone-ftps/)
[![Docker Pulls](https://badgen.net/docker/pulls/cschlosser/drone-ftps)](https://hub.docker.com/r/cschlosser/drone-ftps/)
[![Docker Build](https://img.shields.io/docker/cloud/build/cschlosser/drone-ftps)](https://hub.docker.com/r/cschlosser/drone-ftps/)
[![Docker Size](https://badgen.net/docker/size/cschlosser/drone-ftps)](https://hub.docker.com/r/cschlosser/drone-ftps/)
2017-10-26 00:22:00 +00:00
## Usage
2018-02-06 21:10:06 +00:00
You have to set the username and password for your FTP server in the `FTP_USERNAME` and `FTP_PASSWORD` secret.
2017-10-26 00:22:00 +00:00
2019-05-17 18:17:33 +00:00
## Required settings
2017-10-26 00:22:00 +00:00
```yaml
2019-05-17 18:15:51 +00:00
environment:
FTP_USERNAME:
from_secret: username
FTP_PASSWORD:
from_secret: password
PLUGIN_HOSTNAME: example.com:21
2019-05-17 18:17:33 +00:00
```
## Optional settings
```yaml
environment:
2019-05-17 18:15:51 +00:00
PLUGIN_DEST_DIR: /path/to/dest (default /)
PLUGIN_SRC_DIR: /path/to/dest (default ./)
PLUGIN_SECURE: true | false (default true)
PLUGIN_VERIFY: false
PLUGIN_EXCLUDE: (egrep like pattern matching)
PLUGIN_INCLUDE: (egrep like pattern matching)
PLUGIN_CHMOD: true | false (default true)
PLUGIN_CLEAN_DIR: true | false (default false)
PLUGIN_AUTO_CONFIRM: true | false (default false)
PLUGIN_SSH_ACCEPT_RSA: true | false (default false)
PLUGIN_PRE_ACTION: string (default empty)
PLUGIN_POST_ACTION: string (default empty)
PLUGIN_DEBUG: true | false (default false)
2017-10-26 00:22:00 +00:00
```
### Pre/Post Action
Pre/Post Action can be used to move files/folders out of the way or execute additional commands on the server before and after the deployment process.
The `PLUGIN_PRE_ACTION` is executed *before* the `PLUGIN_CLEAN_DIR` (if set).
The `PLUGIN_POST_ACTION` is executed *after* the ftp "mirror" operation.
Multiple Actions can be set, they need to be divided by a semicolon `;` .
**Example:**
There is another project's folder ("project2") in a subfolder in the destination directory. We need to move this folder to a temporary location and restore it after the upload completed.
```yaml
PLUGIN_CLEAN_DIR: true
PLUGIN_PRE_ACTION: mv /dest/project2 /temp/project2;
PLUGIN_POST_ACTION: mv /temp/project2 /dest/project2;
```
2017-10-26 00:22:00 +00:00
2019-05-17 18:15:51 +00:00
## Full file example
2017-10-26 00:22:00 +00:00
```yaml
2019-05-17 18:15:51 +00:00
kind: pipeline
name: default
2017-10-26 00:22:00 +00:00
2019-05-17 18:15:51 +00:00
steps:
- name: master_build
image: cschlosser/drone-ftps
environment:
FTP_USERNAME:
from_secret: username
FTP_PASSWORD:
from_secret: password
PLUGIN_HOSTNAME: example.com:21
2017-10-26 00:22:00 +00:00
2019-05-17 18:15:51 +00:00
PLUGIN_SECURE: false
PLUGIN_VERIFY: false
PLUGIN_EXCLUDE: ^\.git/$
when:
branch:
- master
event:
- push
2017-10-26 00:22:00 +00:00
2019-05-17 18:15:51 +00:00
- name: develop_build
image: cschlosser/drone-ftps
environment:
FTP_USERNAME:
from_secret: username
FTP_PASSWORD:
from_secret: password
PLUGIN_HOSTNAME: example.com:21
PLUGIN_DEST_DIR: /develop
PLUGIN_SECURE: false
PLUGIN_VERIFY: false
PLUGIN_EXCLUDE: ^\.git/$
when:
branch:
- develop
event:
- push
2018-02-06 21:10:06 +00:00
```