Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/dernasherbrezon/apt-maven-plugin

Maven plugin to deploy into remote debian repository
https://github.com/dernasherbrezon/apt-maven-plugin

apt apt-get deb gpg java repository ubuntu

Last synced: 3 months ago
JSON representation

Maven plugin to deploy into remote debian repository

Awesome Lists containing this project

README

        

# apt-maven-plugin [![.github/workflows/build.yml](https://github.com/dernasherbrezon/apt-maven-plugin/actions/workflows/build.yml/badge.svg)](https://github.com/dernasherbrezon/apt-maven-plugin/actions/workflows/build.yml) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=dernasherbrezon_apt-maven-plugin&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=dernasherbrezon_apt-maven-plugin)

This plugin deploys .deb artifacts into apt repository. It searches for attached artifacts which end with `.deb` extension. `.deb` files could be generated by [jdeb](https://github.com/tcurdt/jdeb).

##

## Usage

To publish .deb artifacts a distribution section must be configured:

```


apt-repository
Maven artifact repository to act as apt-repository
https://example.com/release

```

And configure `apt-maven-plugin`:

```

...

com.aerse.maven
apt-maven-plugin
1.21


deploy

deploy




main
repo
false
true
123
gpg.passphrase


...

```

* component - type of repository. Ubuntu proposes the following naming for them:
* main- Officially supported software. Recommended.
* restricted - Supported software that is not available under a completely free license.
* universe - Community maintained software, i.e. not officially supported software.
* multiverse - Software that is not free.
* codename - codename of release.

## Hints

It is possible to deploy multiple `.deb` file using command line. Configuration will be taken from `pom.xml`:

```
mvn apt:deploy -Dmaven.apt.files=target/*.deb
```

If package was signed once (using "sign=true" option), then un-sign (using "sign=false") will cause GPG checksum failure during ```apt-get update```. Maven Wagon doesn't support "delete" operation, so I cannot remove "Release.gpg" file from apt repository. Please remove "Release.gpg" manually if you have to stop signing.

Works perfectly with [aws-maven](https://github.com/spring-projects/aws-maven "aws-maven"). Just configure distribution section to use `s3://bucketname`.

If you want to publish only .deb artifacts, then turn standard deploy plugin off:

```

org.apache.maven.plugins
maven-deploy-plugin
2.7

true


```