Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updating jenkins step template #1554

Merged
merged 2 commits into from
Sep 4, 2024
Merged

Updating jenkins step template #1554

merged 2 commits into from
Sep 4, 2024

Conversation

twerthi
Copy link
Contributor

@twerthi twerthi commented Sep 3, 2024


Background

The Jenkins - Queue Job did not have the option to wait until the job had completed. It had the option to specify a timeout value, but not something that would wait until it reported it was no long building. In addition, I've updated the label and help text of the Fail build (now updated to Fail deployment) as it was confusing as to what the option was for. Evaluating the code showed that the intention was to fail the deployment if a SUCCESS status was not returned. If a timeout occurred, the response was empty. I've also added warning to the code that will state that a timeout occurred before a response was received.

Results

Users did not have the ability to simply wait for the build to complete.

Before

There wasn't an option to wait for a build to complete, only specify a timeout value.

After

Users can not check a box to wait for a build to go until completion.

Pre-requisites

  • Id should be a GUID that is not 00000000-0000-0000-0000-000000000000
    • NOTE If you are modifying an existing step template, please make sure that you do not modify the Id property (updating the Id will break the Library sync functionality in Octopus).
  • Version should be incremented, otherwise the integration with Octopus won't update the step template correctly
  • Parameter names should not start with $
  • Step template parameter names (the ones declared in the JSON, not the script body) should be prefixed with a namespace so that they are less likely to clash with other user-defined variables in Octopus (see this issue). For example, use an abbreviated name of the step template or the category of the step template).
  • LastModifiedBy field must be present, and (optionally) updated with the correct author
  • The best practices documented here have been applied
  • If a new Category has been created:
    • An image with the name {categoryname}.png must be present under the step-templates/logos folder
    • The switch in the humanize function in gulpfile.babel.js must have a case statement corresponding to it

Copy link

github-actions bot commented Sep 3, 2024

Start Hyponome locally

docker pull ghcr.io/hnrkndrssn/hyponome:main
docker run --rm -p 8000:8080 -it ghcr.io/hnrkndrssn/hyponome:main

Review in Hyponome

Copy link
Contributor

@hnrkndrssn hnrkndrssn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, just a minor note about a block of code that is commented out in the wait for job loop that should probably be removed.

if ($waitForComplete -eq "True")
    {
      while ($isBuilding -eq "True") {       
          ...                
          #if ($result -eq "SUCCESS" -or $result -eq "FAILURE" -or "ABORTED")
          #{
            #break from while
          #  break
          #}
      }
    }

@twerthi
Copy link
Contributor Author

twerthi commented Sep 3, 2024

Doh! Removed :)

Copy link
Contributor

@hnrkndrssn hnrkndrssn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Love your work sir!

@twerthi twerthi merged commit 1585471 into master Sep 4, 2024
2 checks passed
@twerthi twerthi deleted the update-jenkins-queue-job branch September 4, 2024 13:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants