This https://blog.sonatype.com/automated-setup-of-a-repository-manager is a desperate attempt to automate stuff.
git clone https://github.com/sonatype/nexus-book-examples.git
cd ./nexus-book-examples/scripting/complex-script
docker run -d -p 8081:8081 --name nexus sonatype/nexus3:3.10.0
see https://hub.docker.com/r/sonatype/nexus3/tags/
check the logs by
docker exec -ti nexus /bin/bash
more /opt/sonatype/sonatype-work/nexus3/log/nexus.log
rm -rf /home/centos/.groovy/grapes/
rm -rf /home/centos/.m2/repository/
You can easily test your scripts from the Nexus UI (create execute script UI) , and also debut them remotely from Intellij :
https://support.sonatype.com/hc/en-us/articles/115015812727-Nexus-3-Groovy-Script-development-environment-setup
Try running this script:
repository.createMavenHosted('pippo')
it can't be easier!
The RepositoryAPI is available here
https://github.com/sonatype/nexus-public/blob/master/plugins/nexus-script-plugin/src/main/java/org/sonatype/nexus/script/plugin/RepositoryApi.java
Repository createMavenHosted(final String name,
final String blobStoreName,
final boolean strictContentTypeValidation,
final VersionPolicy versionPolicy,
final WritePolicy writePolicy,
final LayoutPolicy layoutPolicy);
example:
repository.createMavenHosted('private-again', 'default', true, org.sonatype.nexus.repository.maven.policy.VersionPolicy.SNAPSHOT, org.sonatype.nexus.repository.storage.WritePolicy.ALLOW_ONCE, org.sonatype.nexus.repository.maven.LayoutPolicy.STRICT)
To list repositories (unfortunately it returns only partial information about the Repository):
curl -X GET --header 'Accept: application/json' 'http://localhost:8081/service/rest/beta/repositories'
[ { "name" : "nuget.org-proxy", "format" : "nuget", "type" : "proxy", "url" : "http://localhost:8081/repository/nuget.org-proxy" }, { "name" : "maven-releases", "format" : "maven2", "type" : "hosted", "url" : "http://localhost:8081/repository/maven-releases" }, { "name" : "maven-snapshots", "format" : "maven2", "type" : "hosted", "url" : "http://localhost:8081/repository/maven-snapshots" }, { "name" : "maven-central", "format" : "maven2", "type" : "proxy", "url" : "http://localhost:8081/repository/maven-central" }, { "name" : "nuget-group", "format" : "nuget", "type" : "group", "url" : "http://localhost:8081/repository/nuget-group" }, { "name" : "nuget-hosted", "format" : "nuget", "type" : "hosted", "url" : "http://localhost:8081/repository/nuget-hosted" }, { "name" : "maven-public", "format" : "maven2", "type" : "group", "url" : "http://localhost:8081/repository/maven-public" } ]
Ref: https://help.sonatype.com/repomanager3/rest-and-integration-api/script-api/writing-scripts about Groovy Scripting in Nexus
No comments:
Post a Comment