Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/dernasherbrezon/apt-maven-plugin
- Owner: dernasherbrezon
- License: apache-2.0
- Created: 2014-12-26T19:54:04.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2024-02-29T19:43:27.000Z (11 months ago)
- Last Synced: 2024-05-02T05:09:16.723Z (9 months ago)
- Topics: apt, apt-get, deb, gpg, java, repository, ubuntu
- Language: Java
- Size: 261 KB
- Stars: 5
- Watchers: 4
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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
```