A Nexus3 container with the apt plugin
559
Compatibility Matrix:
| Plugin Version | Nexus Repository Version |
|---|---|
| v1.0.2 | <3.9.0 |
| v1.0.5 | 3.9.0 |
| v1.0.7 | 3.11.0 |
| v1.0.8 | 3.13.0 |
| v1.0.9 | 3.14.0 |
| v1.0.10 | 3.15.2 |
Clone the project:
git clone https://github.com/sonatype-nexus-community/nexus-repository-apt
Build the plugin:
cd nexus-repository-apt
mvn
docker build -t nexus-repository-apt:3.15.2 .
docker run -d -p 8081:8081 --name nexus-repo nexus-repository-apt:3.15.2
For further information like how to persist volumes check out the GitHub Repo for the official Nexus Repository 3 Docker image.
The application will now be available from your browser at http://localhost:8081
Stop Nexus:
service nexus stop
or
cd <nexus_dir>/bin
./nexus stop
Copy the bundle into <nexus_dir>/system/net/staticsnow/nexus-repository-apt/1.0.10/nexus-repository-apt-1.0.10.jar
Make the following additions marked with + to <nexus_dir>/system/org/sonatype/nexus/assemblies/nexus-core-feature/3.x.y/nexus-core-feature-3.x.y-features.xml
<feature version="x.y.z" prerequisite="false" dependency="false">nexus-repository-maven</feature>
+ <feature version="1.0.10" prerequisite="false" dependency="false">nexus-repository-apt</feature>
</feature>
And
+ <feature name="nexus-repository-apt" description="net.staticsnow:nexus-repository-apt" version="1.0.10">
+ <details>net.staticsnow:nexus-repository-apt</details>
+ <bundle>mvn:net.staticsnow/nexus-repository-apt/1.0.10</bundle>
+ <bundle>mvn:org.apache.commons/commons-compress/1.18</bundle>
+ <bundle>mvn:org.tukaani/xz/1.8</bundle>
+ </feature>
</features>
This will cause the plugin to be loaded and started with each startup of Nexus Repository.
curl -u user:pass -X POST -H "Content-Type: multipart/form-data" --data-binary "@package.deb" http://nexus_url:8081/repository/repo_name/
curl -u user:pass -X MKCOL http://nexus_url:8081/repository/repo_name/snapshots/$SNAPSHOT_ID
See https://help.github.com/articles/generating-a-new-gpg-key/
To sign packages use; gpg --export-secret-key --armor <Name or ID> and passphrase in the hosted repository configuration.
The private armored key should look like this:
-----BEGIN PGP PRIVATE KEY BLOCK-----
...Base64 key...
-----END PGP PRIVATE KEY BLOCK-----
It is worth noting that this is NOT SUPPORTED by Sonatype, and is a contribution of Mike Poindexter's plus us to the open source community (read: you!)
Remember:
Phew, that was easier than I thought. Last but not least of all:
Have fun building and using this plugin on the Nexus platform, we are glad to have you here!
Looking to contribute to our code but need some help? There's a few ways to get information:
Content type
Image
Digest
Size
252.6 MB
Last updated
over 7 years ago
docker pull devopsmakers/nexus3