Uploaded image for project: 'IGB'
  1. IGB
  2. IGBF-1945

Enable Genoviz SDK to be deployed to nexus from bitbucket pipelines

    Details

    • Type: Improvement
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: None
    • Labels:
    • Story Points:
      2
    • Sprint:
      Fall 2019 Sprint 1, Fall 2019 Sprint 2, Fall 2019 Sprint 3, Fall 4 : 30 Sep to 11 Oct

      Description

      Currently, when we deploy a new GenoViz SDK jar to Nexus, we have to build it locally and then run mvn deploy to release the new artifact to the Nexus repository where we are distributing IGB project artifacts.

      The release engineer who does this must configure their local computer to include a release engineer user name and password for accepted by the Nexus site.

      However, the version of java used and other aspects may vary. It would be better to use a single environment for building the artifact. Also, it would be nice if this could be done from bitbucket pipelines, which uses the same Docker image as IGB and other Java-based projects.

      Let's change how this is done!

      For this task:

      • Configure the POM for Genoviz SDK and bitbucket pipelines YML to release artifacts to Nexus.

      In addition, investigate plugins released by Nexus that deploy artifacts.

      See:

      Use google to look for additional tips and examples.

      Also, investigate other possible improvements, including formalizing the release process using release branches.

      Goal: Make this project as professional as possible to encourage developers to use the library in their projects – and hopefully contribute.

        Attachments

          Issue Links

            Activity

            aloraine Ann Loraine created issue -
            aloraine Ann Loraine made changes -
            Field Original Value New Value
            Epic Link IGBF-1531 [ 17617 ]
            aloraine Ann Loraine made changes -
            Rank Ranked higher
            aloraine Ann Loraine made changes -
            Description Currently, when we deploy a new GenoViz SDK jar to Nexus, we have to build it locally and then run mvn deploy to release the new artifact to the Nexus repository where we are distributing IGB project artifacts.

            The release engineer who does this must configure their local computer to include a release engineer user name and password for accepted by the Nexus site.

            However, the version of java used and other aspects may vary. It would be better to use a single environment for building the artifact. Also, it would be nice if this could be done from bitbucket pipelines, which uses the same Docker image as IGB and other Java-based projects.

            Let's change how this is done!

            For this task:

            * Configure the POM for Genoviz SDK and bitbucket pipelines YML to release artifacts to Nexus.

            In addition, investigate plugins released by Nexus that deploy artifacts.

            See:

            * https://www.baeldung.com/maven-release-nexus

            Use google to look for additional tips and examples.

            Also, investigate other possible improvements, including formalizing the release process using release branches.

            Goal: Make this project as professional as possible to encourage developers to use the library in their projects -- and hopefully contribute.

            Currently, when we deploy a new GenoViz SDK jar to Nexus, we have to build it locally and then run mvn deploy to release the new artifact to the Nexus repository where we are distributing IGB project artifacts.

            The release engineer who does this must configure their local computer to include a release engineer user name and password for accepted by the Nexus site.

            However, the version of java used and other aspects may vary. It would be better to use a single environment for building the artifact. Also, it would be nice if this could be done from bitbucket pipelines, which uses the same Docker image as IGB and other Java-based projects.

            Let's change how this is done!

            For this task:

            * Configure the POM for Genoviz SDK and bitbucket pipelines YML to release artifacts to Nexus.

            In addition, investigate plugins released by Nexus that deploy artifacts.

            See:

            * https://www.baeldung.com/maven-release-nexus
            * https://stackoverflow.com/questions/28071697/is-it-possible-to-pass-a-password-in-maven-deploy-in-the-command-line

            Use google to look for additional tips and examples.

            Also, investigate other possible improvements, including formalizing the release process using release branches.

            Goal: Make this project as professional as possible to encourage developers to use the library in their projects -- and hopefully contribute.

            Hide
            aloraine Ann Loraine added a comment -

            To do this task, it looks like we need to re-create the Docker image to enable maven to pick up repository credentials using maven settings.xml. For this, we will need to add credentials in such a way that will allow testing by the person who does this.

            This task will require coordination with Dr. Loraine to test the Nexus deployment part. What we will do is grant the developer write access to a test-only repository on our Nexus site.

            Show
            aloraine Ann Loraine added a comment - To do this task, it looks like we need to re-create the Docker image to enable maven to pick up repository credentials using maven settings.xml. For this, we will need to add credentials in such a way that will allow testing by the person who does this. This task will require coordination with Dr. Loraine to test the Nexus deployment part. What we will do is grant the developer write access to a test-only repository on our Nexus site.
            aloraine Ann Loraine made changes -
            Story Points 1 2
            aloraine Ann Loraine made changes -
            Workflow Loraine Lab Workflow [ 18669 ] Fall 2019 Workflow Update [ 19013 ]
            aloraine Ann Loraine made changes -
            Sprint Fall 2019 Sprint 1 [ 72 ] Fall 2019 Sprint 1, Fall 2019 Sprint 2 [ 72, 73 ]
            aloraine Ann Loraine made changes -
            Rank Ranked higher
            aloraine Ann Loraine made changes -
            Link This issue is blocked by IGBF-1993 [ IGBF-1993 ]
            aloraine Ann Loraine made changes -
            Status Open [ 1 ] To-Do [ 10305 ]
            aloraine Ann Loraine made changes -
            Sprint Fall 2019 Sprint 1, Fall 2019 Sprint 2 [ 72, 73 ] Fall 2019 Sprint 1, Fall 2019 Sprint 2, Fall 2019 Sprint 4 [ 72, 73, 74 ]
            aloraine Ann Loraine made changes -
            Rank Ranked higher
            aloraine Ann Loraine made changes -
            Assignee Prutha Kulkarni [ prutha ]
            prutha Prutha Kulkarni (Inactive) made changes -
            Status To-Do [ 10305 ] In Progress [ 3 ]
            Hide
            prutha Prutha Kulkarni (Inactive) added a comment -
            Show
            prutha Prutha Kulkarni (Inactive) added a comment - Please refer the comments in IGBF-1993 for the same. Code changes are available at: https://bitbucket.org/pkulka10/igb_docker/src/IGBF-1993/ https://bitbucket.org/pkulka10/new_genoviz/src/IGBF-1945/
            prutha Prutha Kulkarni (Inactive) made changes -
            Assignee Prutha Kulkarni [ prutha ]
            prutha Prutha Kulkarni (Inactive) made changes -
            Status In Progress [ 3 ] Needs 1st Level Review [ 10005 ]
            Hide
            aloraine Ann Loraine added a comment -

            For the next step:

            Please investigate: can we parameterize the repository id?

            Can we use variable substitution to specify the "id" for a deployment repository - as in the following?

            <settings>
            <servers>
            <server>
            <id>$

            {repo.id}

            </id>
            <username>$

            {repo.login}

            </username>
            <password>$

            {repo.pwd}

            </password>
            </server>
            </servers>
            </settings>

            Can we then reference the repository id, password, and user name in the mvn deploy command as in the following?

            mvn -Drepo.login=$USER -Drepo.pwd=$PASSWD -Drepo.id=$ID deploy

            Show
            aloraine Ann Loraine added a comment - For the next step: Please investigate: can we parameterize the repository id? Can we use variable substitution to specify the "id" for a deployment repository - as in the following? <settings> <servers> <server> <id>$ {repo.id} </id> <username>$ {repo.login} </username> <password>$ {repo.pwd} </password> </server> </servers> </settings> Can we then reference the repository id, password, and user name in the mvn deploy command as in the following? mvn -Drepo.login=$USER -Drepo.pwd=$PASSWD -Drepo.id=$ID deploy
            aloraine Ann Loraine made changes -
            Status Needs 1st Level Review [ 10005 ] First Level Review in Progress [ 10301 ]
            aloraine Ann Loraine made changes -
            Status First Level Review in Progress [ 10301 ] Ready for Pull Request [ 10304 ]
            aloraine Ann Loraine made changes -
            Assignee Prutha Kulkarni [ prutha ]
            Hide
            prutha Prutha Kulkarni (Inactive) added a comment -

            Prof. Ann Loraine, I have changed it back to the maven-releases.
            The code changes are present at: https://bitbucket.org/lorainelab/genoviz-sdk/pull-requests/17/igbf-1945/diff
            Could you please merge it into the master?

            Show
            prutha Prutha Kulkarni (Inactive) added a comment - Prof. Ann Loraine , I have changed it back to the maven-releases. The code changes are present at: https://bitbucket.org/lorainelab/genoviz-sdk/pull-requests/17/igbf-1945/diff Could you please merge it into the master?
            prutha Prutha Kulkarni (Inactive) made changes -
            Assignee Prutha Kulkarni [ prutha ]
            prutha Prutha Kulkarni (Inactive) made changes -
            Status Ready for Pull Request [ 10304 ] Pull Request Submitted [ 10101 ]
            Hide
            aloraine Ann Loraine added a comment -

            Sorry – one more question about the mvn clean command

            Show
            aloraine Ann Loraine added a comment - Sorry – one more question about the mvn clean command
            aloraine Ann Loraine made changes -
            Assignee Prutha Kulkarni [ prutha ]
            Hide
            prutha Prutha Kulkarni (Inactive) added a comment -

            Prof. Ann Loraine, The command is not required in custom configuration. Removed it and submitted a new PR for the which is present at: same.https://bitbucket.org/lorainelab/genoviz-sdk/pull-requests/17/igbf-1945/diff
            Could you please merge it into the master?
            Thanks.

            Show
            prutha Prutha Kulkarni (Inactive) added a comment - Prof. Ann Loraine , The command is not required in custom configuration. Removed it and submitted a new PR for the which is present at: same. https://bitbucket.org/lorainelab/genoviz-sdk/pull-requests/17/igbf-1945/diff Could you please merge it into the master? Thanks.
            aloraine Ann Loraine made changes -
            Status Pull Request Submitted [ 10101 ] Reviewing Pull Request [ 10303 ]
            aloraine Ann Loraine made changes -
            Status Reviewing Pull Request [ 10303 ] Merged Needs Testing [ 10002 ]
            aloraine Ann Loraine made changes -
            Assignee Prutha Kulkarni [ prutha ]
            aloraine Ann Loraine made changes -
            Status Merged Needs Testing [ 10002 ] Post-merge Testing In Progress [ 10003 ]
            aloraine Ann Loraine made changes -
            Assignee Ann Loraine [ aloraine ]
            aloraine Ann Loraine made changes -
            Sprint Fall 2019 Sprint 1, Fall 2019 Sprint 2, Fall 2019 Sprint 3 [ 72, 73, 74 ] Fall 2019 Sprint 1, Fall 2019 Sprint 2, Fall 2019 Sprint 3, Fall 2019 Sprint 4 [ 72, 73, 74, 75 ]
            aloraine Ann Loraine made changes -
            Rank Ranked higher
            aloraine Ann Loraine made changes -
            Status Post-merge Testing In Progress [ 10003 ] Merged Needs Testing [ 10002 ]
            Hide
            aloraine Ann Loraine added a comment -

            Deployed on lorainelab genoviz sdk repository. Ran pipeline. Artifacts were transferred successfully to nexus.bioviz.org. Works great!
            Now marking this as "closed".
            Prutha Kulkarni

            Show
            aloraine Ann Loraine added a comment - Deployed on lorainelab genoviz sdk repository. Ran pipeline. Artifacts were transferred successfully to nexus.bioviz.org. Works great! Now marking this as "closed". Prutha Kulkarni
            aloraine Ann Loraine made changes -
            Status Merged Needs Testing [ 10002 ] Post-merge Testing In Progress [ 10003 ]
            aloraine Ann Loraine made changes -
            Resolution Done [ 10000 ]
            Status Post-merge Testing In Progress [ 10003 ] Closed [ 6 ]
            aloraine Ann Loraine made changes -
            Assignee Ann Loraine [ aloraine ] Prutha Kulkarni [ prutha ]
            aloraine Ann Loraine made changes -
            Link This issue relates to IGBF-2042 [ IGBF-2042 ]
            aloraine Ann Loraine made changes -
            Workflow Fall 2019 Workflow Update [ 19013 ] Revised Fall 2019 Workflow Update [ 22462 ]

              People

              • Assignee:
                prutha Prutha Kulkarni (Inactive)
                Reporter:
                aloraine Ann Loraine
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: