Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-36089

Pipeline support for Promoted Builds Plugin

    Details

    • Epic Name:
      Pipeline support for Promoted Builds Plugin
    • Similar Issues:

      Description

      This enhancement request is for the Promoted Builds plugin to support Jenkins' 2.X style Pipelines.

      Pipelines are the new paradigm that Jenkins 2.X is promoting heavily – with its ability to define the build process in code, automatic build discovery, and great integration with repository systems for automatic build / testing of pull requests.

      There are many places within the new Pipeline style where the Promoted Plugin could be used to great effect:

      • builds could dynamically https://issues.jenkins-ci.org/browse/JENKINS-36089#promote and save artifacts, pushing them into other pipeline jobs
      • Users could manually promote pipeline builds that have been through some kind of QA process
      • Permalinks provided by the Promoted Builds plugin could be used in pipeline builds

      Basically, the same vast number of use cases that the Promoted Build Plugin provides today could be taken advantage of by builds defined via the Pipeline API and Jenkinsfile build definitions.

      Reference here for the API changes that are required for a plugin to be available in a Pipeline build:
      https://github.com/jenkinsci/pipeline-plugin/blob/master/COMPATIBILITY.md

      Original reference bug:
      https://issues.jenkins-ci.org/browse/JENKINS-35376

        Attachments

          Issue Links

            Activity

            Hide
            lsbwant lsb want added a comment -

            Jesse Glick

             

            Only if you put input inside node, which generally you should not. An input paused at top level can sit there for days without occupying any resources on Jenkins (not even a native Thread).

            The workspace of next stage will be reallocated if I put directive input into a standalone stage and set up agent as none, but my next stage need use the same workspace with the previous stage. this is my difficulty, otherwise, I need set up a pipeline global agent, then directive input will occupy executor.

            Show
            lsbwant lsb want added a comment - Jesse Glick   Only if you put  input  inside  node , which generally you should not. An  input  paused at top level can sit there for days without occupying any resources on Jenkins (not even a native  Thread ). The workspace of next stage will be reallocated if I put directive input into a standalone stage and set up agent as none, but my next stage need use the same workspace with the previous stage. this is my difficulty, otherwise, I need set up a pipeline global agent, then directive input will occupy executor.
            Hide
            jbaris Juan Barisich added a comment -

            Most of the Jenkins users (and users of another platforms like gitlab) are using the pipeline way because its simplicity and flexibility. If this plugin does not support pipelines, it becomes useless. Thanks for your understanding and support.

            Show
            jbaris Juan Barisich added a comment - Most of the Jenkins users (and users of another platforms like gitlab) are using the pipeline way because its simplicity and flexibility. If this plugin does not support pipelines, it becomes useless. Thanks for your understanding and support.
            Hide
            oleg_nenashev Oleg Nenashev added a comment -

            I totally agree with you, but I am not ready to implement it during my spare time anytime soon. It is a big chunk of work requiring several weekends to be done properly. I cannot dedicate time due to the personal stuff and other commitments in the Jenkins project. I'd guess the same applies to Devin Nusbaum who is a new maintainer.

            I have provided my vision here: https://issues.jenkins-ci.org/browse/JENKINS-36089?focusedCommentId=280959&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-280959 . If somebody is interested, please feel free to contribute. It is not that difficult to implement this functionality even for those ones who are not experts in Jenkins development, just requires time and some basic Java knowledge. If you do not have personal time, ask your employers to dedicate some time. It may be possible in many cases. This is how open-source works sometimes, fortunately or not

             

             

            Show
            oleg_nenashev Oleg Nenashev added a comment - I totally agree with you, but I am not ready to implement it during my spare time anytime soon. It is a big chunk of work requiring several weekends to be done properly. I cannot dedicate time due to the personal stuff and other commitments in the Jenkins project. I'd guess the same applies to Devin Nusbaum who is a new maintainer. I have provided my vision here: https://issues.jenkins-ci.org/browse/JENKINS-36089?focusedCommentId=280959&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-280959 . If somebody is interested, please feel free to contribute. It is not that difficult to implement this functionality even for those ones who are not experts in Jenkins development, just requires time and some basic Java knowledge. If you do not have personal time, ask your employers to dedicate some time. It may be possible in many cases. This is how open-source works sometimes, fortunately or not    
            Hide
            oleg_nenashev Oleg Nenashev added a comment -

            But, again, I am happy to provide reviews and help with delivering changes if somebody proposes a pull request

             

            Show
            oleg_nenashev Oleg Nenashev added a comment - But, again, I am happy to provide reviews and help with delivering changes if somebody proposes a pull request  
            Hide
            oleg_nenashev Oleg Nenashev added a comment -

            Hello, I I have added this project to the list of Google Summer of Code 2019 project ideas: https://docs.google.com/document/d/1UYi0jIYsKHE5IGS84B5W0XBoeMyF4yY_exu-21O99U8/edit?usp=sharing , so it may be implemented by one of the students this year.

            We are also looking for mentors who would be interested in this project. If you would like to join the project, please let me know

             

            Show
            oleg_nenashev Oleg Nenashev added a comment - Hello, I I have added this project to the list of Google Summer of Code 2019 project ideas: https://docs.google.com/document/d/1UYi0jIYsKHE5IGS84B5W0XBoeMyF4yY_exu-21O99U8/edit?usp=sharing , so it may be implemented by one of the students this year. We are also looking for mentors who would be interested in this project. If you would like to join the project, please let me know  

              People

              • Assignee:
                Unassigned
                Reporter:
                gregcovertsmith Greg Smith
              • Votes:
                127 Vote for this issue
                Watchers:
                140 Start watching this issue

                Dates

                • Created:
                  Updated: