Woodpecker CI plugin to publish Debian packages using on Aptly API
Benjamin Renard
a450ed9058
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
|
||
---|---|---|
.gitignore | ||
.pylintrc | ||
.woodpecker.yml | ||
Dockerfile | ||
entrypoint.py | ||
README.md |
Woodpecker CI plugin to publish Debian package on a Aptly repository
This docker image could be used as an Woodpecker CI plugin to publish one (or more) Debian package on a Aptly repository using its API.
This plugin will try to :
- locate all
changes
files in thedist
directory (that matchedsource_name
if provided) - extract files that are mentioned by the changes files and upload it using Aptly files API. Files are published on a subdirectory of the name of the source package
- include all processed changes files using Aplty repos API
- create a snapshot of the repository named using current datetime and repository name (format:
YYYYMMDD-HHMMSS-repo
) using Aptly snapshot API - update the published snapshot of the repository using Aptly publish API
Usage
The below pipeline configuration demonstrates simple usage:
pipeline:
publish:
image: brenard/aptly-publish
settings:
api_url: https://your.aptly.tld/api
api_username: myproject
api_password:
from_secret: aptly_api_password
repo_name: stable
path: dist
source_name: myproject
Parameters:
- api_url: Your Aptly API URL (required)
- api_username: Username to authenticate on your Aptly API (required)
- api_password: Password to authenticate on your Aptly API (required)
- repo_name: Repository name to publish on (optional, default:
stable
) - path: Path to the directory where files to publish are stored (optional, default:
dist
) - source_name: Name of the source package to publish (optional, default: all
changes
files are will be publish)