Woodpecker CI plugin to publish Debian packages using on Aptly API
Find a file
Benjamin Renard a450ed9058
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Fix install dependencies in pylint test
2022-05-02 16:22:19 +02:00
.gitignore First release 2022-05-02 00:39:47 +02:00
.pylintrc Fix some pylint warnings 2022-05-02 16:12:37 +02:00
.woodpecker.yml Fix install dependencies in pylint test 2022-05-02 16:22:19 +02:00
Dockerfile First release 2022-05-02 00:39:47 +02:00
entrypoint.py Fix some pylint warnings 2022-05-02 16:12:37 +02:00
README.md Add CI badge to README 2022-05-02 16:15:10 +02:00

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 the dist directory (that matched source_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

status-badge

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)