mirror of
https://github.com/ViViDboarder/drone-webdav.git
synced 2025-01-07 21:17:34 +00:00
62 lines
2.5 KiB
Markdown
62 lines
2.5 KiB
Markdown
# drone-webdav
|
|
|
|
A [Drone CI](https://www.drone.io/) / [Woodpecker CI](https://woodpecker-ci.org/) plugin, that will allow pushing build artifacts to any WebDAV server, including Nextcloud or ownCloud.
|
|
|
|
## Examples
|
|
|
|
An example configuration would be as follows:
|
|
|
|
```yaml
|
|
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/
|
|
username: myusername
|
|
password: mypassword
|
|
```
|
|
|
|
You probably don't want to check your credentials into your repo, so you may use secrets for this:
|
|
|
|
```yaml
|
|
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/
|
|
username:
|
|
from_secret: WEBDAV_USER
|
|
password:
|
|
from_secret: WEBDAV_PASSWORD
|
|
```
|
|
|
|
## FAQ
|
|
|
|
### How do I upload multiple files at once?
|
|
|
|
Since this script uses **curl** to upload your files, you can use it's corresponding syntax.
|
|
An example, taken from the official [documentation](https://curl.se/docs/manpage.html#-T), would be to pass ``{dogs.png,cats.jpg}`` to ``PLUGIN_FILE``.
|
|
|
|
## Customization
|
|
|
|
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`. |
|
|
|
|
## Development
|
|
|
|
There are only two tests right now and they are configured using Docker Compose. To run them, just use
|
|
|
|
```sh
|
|
make test
|
|
```
|
|
|
|
If someone wants to make this better (or add a Drone file) I'd gladly accept the patch.
|