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

Update IGB App Quickstart hello-world-app

    Details

    • Type: Improvement
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: None
    • Labels:

      Description

      This task is to update pom.xml for IGB Quick Start App:

      Changes:

      • Investigate: Can user build without cloning & building a local copy of the platform - the Integrated Genome Browser repository? If not, investigate removing reference to parent pom
      • Inspect code imports; check all are provided by the container
      • Require IGB platform bundle versions 9+ or higher
      • Use bitbucket pipeline to bundle a jar on every merge to master
      • Embed commit hash, repository metadata in jar (see linked issue https://jira.transvar.org/browse/IGBF-1548)

        Attachments

          Issue Links

            Activity

            Hide
            prutha Prutha Kulkarni (Inactive) added a comment -

            I tried to build the IGB app on my EC2 instance without cloning/building a local copy of the platform but the build was failing.
            So, I removed the parent pom reference from its pom.xml and also I made some changes to the pom file related to dependency versions in order to build the app successfully.
            It worked. Now I have generated git.properties file using the git plugin which Noor Zahara has used to get commit hash and repository metadata. Even that part is working fine. I am currently working on generating a jar file using the bitbucket pipeline for every merge to master. I'll provide an update on that part soon.

            Show
            prutha Prutha Kulkarni (Inactive) added a comment - I tried to build the IGB app on my EC2 instance without cloning/building a local copy of the platform but the build was failing. So, I removed the parent pom reference from its pom.xml and also I made some changes to the pom file related to dependency versions in order to build the app successfully. It worked. Now I have generated git.properties file using the git plugin which Noor Zahara has used to get commit hash and repository metadata. Even that part is working fine. I am currently working on generating a jar file using the bitbucket pipeline for every merge to master. I'll provide an update on that part soon.
            Hide
            prutha Prutha Kulkarni (Inactive) added a comment - - edited

            I am able to build a jar for the hello-world-app using pipeline configuration. I have read the comments on the old ticket https://jira.transvar.org/browse/IGBF-1193 as well as the ticket related to the pipeline build process for GenoViz SDK i.e. IGBF-1216. There are no commands mentioned for the version hardcoding removal and the things related to the Docker Image are mentioned instead. In my config file, the version of the app is not hardcoded and I am using below command to get the version of the app from its pom file.
            version=$(grep version /opt/atlassian/pipelines/agent/build/pom.xml | grep -v '<?xml' | grep '<version>'|head -n 1|awk '

            {print $1}

            '| cut -d'>' -f 2 | cut -d'<' -f 1)
            I am attaching the pipeline configuration file to the ticket which I have created.
            Steps required for the pipeline setup:
            1) Create a .yml pipeline configuration file.
            2) Generate App Password in the bitbucket settings
            i) Select a suitable label for the app pasword.
            ii) Check on write permission for repositories and pipelines options.
            3) Once the password is created, create repository variables for the app repository for which you want to setup a pipeline.
            The configuration is now complete and you can use the pipeline to get a .jar file for every commit/change to the master.
            This jar file also contains a git.properties file which has the commit hash and repository metadata.
            The git.properties file can be generated using git-commit-id-plugin.

            Note: Please refer attached bitbucket-pipelines.yml file for the configuration.

            Show
            prutha Prutha Kulkarni (Inactive) added a comment - - edited I am able to build a jar for the hello-world-app using pipeline configuration. I have read the comments on the old ticket https://jira.transvar.org/browse/IGBF-1193 as well as the ticket related to the pipeline build process for GenoViz SDK i.e. IGBF-1216 . There are no commands mentioned for the version hardcoding removal and the things related to the Docker Image are mentioned instead. In my config file, the version of the app is not hardcoded and I am using below command to get the version of the app from its pom file. version=$(grep version /opt/atlassian/pipelines/agent/build/pom.xml | grep -v '<?xml' | grep '<version>'|head -n 1|awk ' {print $1} '| cut -d'>' -f 2 | cut -d'<' -f 1) I am attaching the pipeline configuration file to the ticket which I have created. Steps required for the pipeline setup: 1) Create a .yml pipeline configuration file. 2) Generate App Password in the bitbucket settings i) Select a suitable label for the app pasword. ii) Check on write permission for repositories and pipelines options. 3) Once the password is created, create repository variables for the app repository for which you want to setup a pipeline. The configuration is now complete and you can use the pipeline to get a .jar file for every commit/change to the master. This jar file also contains a git.properties file which has the commit hash and repository metadata. The git.properties file can be generated using git-commit-id-plugin. Note: Please refer attached bitbucket-pipelines.yml file for the configuration.
            Hide
            prutha Prutha Kulkarni (Inactive) added a comment -

            I have pushed the changes to hello-world-app master.
            Follow steps mentioned in the previous comment in order to test whether the pipeline setup is working or not.
            .yml file is already there so, you can skip the first step.

            Show
            prutha Prutha Kulkarni (Inactive) added a comment - I have pushed the changes to hello-world-app master. Follow steps mentioned in the previous comment in order to test whether the pipeline setup is working or not. .yml file is already there so, you can skip the first step.
            Hide
            shamika Shamika Gajanan Kulkarni (Inactive) added a comment - - edited

            The pipeline setup works fine. The jar was downloaded properly. The git.properties file was verified to check if it contains the commit hash and repository metadata.

            Show
            shamika Shamika Gajanan Kulkarni (Inactive) added a comment - - edited The pipeline setup works fine. The jar was downloaded properly. The git.properties file was verified to check if it contains the commit hash and repository metadata.

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: