Giter Site home page Giter Site logo

dhladky / nexus-release-staging-repositories Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 18 KB

Sonatype Nexus plugin to automatically releasing promoted/staged staging repositories after a period of time.

Java 100.00%
sonatype-nexus-plugin release-automation

nexus-release-staging-repositories's Introduction

nexus-release-staging-repositories

is extending possibilities of Sonatype Nexus Staging Plugin. It allows to automatically release promoted/staged staging repositories after a period of time. Because it extends the Nexus Staging Suite, it is usable only in conjunction with Nexus 2.x Professional.

It adds a new scheduled task type with name Automatic Release of Promoted Repositories. It contains following settings:

  • Target Staging Profile - only repositories, that were promoted by this staging profile will be released. You need to put the staging profile ID here.
  • Staging Repository Age - how long after the latest update of the staging repository will the automatic release be done (in days).
  • Automatic Drop after Release - if checked, the released staging repositories will be dropped. It is identical to the checkbox of the same name you can check when you do the release manually in Nexus Web UI.
  • Description - the optional text identical to the same field in the release form when doing the release manually in Nexus web UI.

Limitations

  • so far it is necessary to copy-paste the Target Staging Profile manually. This is not convenient and I hope I will be able to replace with a combobox, where you could select the profile. I failed to make it, but I asked Sonatype for help in this matter.
  • the plugin runs with full permissions. If someone can guess the staging profile ID and you give him access to schedule tasks, he can release anything with this plugin.

Installation

  • find the zip bundle corresponding to your Nexus release version
  • shut down Nexus
  • expand the bundle zip file to sonatype-work/nexus/plugin-repository folder
  • on Mac/Linux set the file access permissions so Nexus can access the files. Example: chmod -R 0764 ~/xxx/sonatype-work/nexus/plugin-repository/nexus-release-staging-repositories-plugin-2.14.15-01
  • start Nexus and wait for the web UI to become active
  • go to Administration -> Scheduled Tasks tab
  • create the new scheduled tasks as necessary

Build

  • NX2 uses old Google framework for dependency injection and all its dependencies requires specific range of Maven. Use version 3.0.5
  • If you decide updating this code, you may work with Java 8 or higher, however never use more modern language patterns (like lambda). Dependency injections stops working.
  • In order to build this plugin you must have access to NX2 Professional and add com.sonatype.nexus.plugins:nexus-staging-plugin:{actual-version-number} to your Maven cache.

nexus-release-staging-repositories's People

Contributors

dependabot[bot] avatar dhladky avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.