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

            Hide
            ann.loraine 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
            ann.loraine 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.
            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/
            Hide
            ann.loraine 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
            ann.loraine 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
            Hide
            prutha Prutha Kulkarni (Inactive) added a comment -

            Prof. [~aloraine], 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. [~aloraine] , 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?
            Hide
            ann.loraine Ann Loraine added a comment -

            Sorry – one more question about the mvn clean command

            Show
            ann.loraine Ann Loraine added a comment - Sorry – one more question about the mvn clean command
            Hide
            prutha Prutha Kulkarni (Inactive) added a comment -

            Prof. [~aloraine], 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. [~aloraine] , 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.
            Hide
            ann.loraine 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
            ann.loraine 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

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: