A Drone plugin to push files to a webdav server
10K+
A WebDAV plugin, for the drone.io project, which allows you to push build artifacts to any WebDAV server, including Nextcloud or ownCloud.
An example configuration would be as follows:
pipeline:
upload_debug:
image: vividboarder/drone-webdav
settings:
file: com.vividboarder.otbeta/build/outputs/apk/com.vividboarder.otbeta-debug.apk
destination: https://my.nextcloud.com/remote.php/dav/files/vividboarder/Android/Apks/
user: myusername
password: mypassword
You probably don't want to check your credentials into your repo, so you may use secrets for this:
pipeline:
upload_debug:
image: vividboarder/drone-webdav
settings:
file: com.vividboarder.otbeta/build/outputs/apk/com.vividboarder.otbeta-debug.apk
destination: https://my.nextcloud.com/remote.php/dav/files/vividboarder/Android/Apks/
secrets:
- source: WEBDAV_USER
target: PLUGIN_USERNAME
- source: WEBDAV_PASSWORD
target: PLUGIN_PASSWORD
Since this script uses curl to upload your files, you can use it's corresponding syntax.
An example, taken from the official documentation, would be to pass {dogs.png,cats.jpg} to PLUGIN_FILE.
The following environment variables can be used for further cutomization:
| Variable | Description |
|---|---|
PLUGIN_PROXY_URL | May be used to specify a proxy (e.g. socks5://{ip_address}:{port}) |
PLUGIN_TIMEOUT | Defines a timeout (in seconds) to stop the upload after a certain time. |
PLUGIN_ATTEMPTS | Defines how often a failed upload should be retried. Normally there is only one upload attempt. |
PLUGIN_CUSTOM_ARGUMENTS | Additional arguments to be passed to curl. |
There are only two tests right now and they are configured using Docker Compose. To run them, just use
make test
If someone wants to make this better (or add a Drone file) I'd gladly accept the patch.
Content type
Image
Digest
sha256:9d300c5d9…
Size
5.2 MB
Last updated
over 2 years ago
docker pull vividboarder/drone-webdav