Artefact library¶
Status to Bitbucket¶
Available since 1.0
Keep track of a step status in the CVS
Signature¶
utils.build_notify(currentBuild, String key, String title, Closure process, Closure error_eval = null)
Parameter
currentBuild
is the meta object pointing to the current buildkey
is used to uniquely identify a task within a build, It should not contain blankspace and non alphanumerical chars.title
is the friendly title to be displayed to the userprocess
is the wrapped steps to be taken for this step to complete. it is possible to return a string to override the step annotation, i.e:Completed in 12 seconds
error_eval
is the wrapped steps to be taken to evaluate an error annotation and return it as a string , i.e:The Jira ticket was not approved
(Optional)
Examples¶
Simple usage:
utils.build_notify(currentBuild, 'my-tak-key', "My Task"){
sh "echo proceed"
}
Step annotation usage:
utils.build_notify(currentBuild, 'my-tak-key', "My Task"){
if (my_var == "yes"){
sh "echo proceed"
return "Process was approved"
} else {
throw Exception("This wasn't approved")
}
} {
return "${my_other_var} was approved to proceed."
}
Artifact generation¶
Available since 1.1
Create a new artifact that can be reused by a CD pipeline
Signature¶
artifacts.create_artifact(String path)
Parameter
path
is the path to the folder from which the artifact needs to be created
Examples¶
Simple usage using utils.build_notify
:
utils.build_notify(currentBuild, 'my-packaging-step', "Deliver artifact"){
sh 'mkdir -p build && echo generated > build/output.txt'
artifacts.create_artifact('build')
}
Publish Docker Image¶
Available since 1.X
Create a image in a previously provisonned ECR repository
Signature¶
artifacts.publish_image(Image docker_image)
Parameter
docker_image
is a Docker image built using the Docker library in Jenkins, i.e:docker.build('myimage:itsversion')
Examples¶
Simple usage using utils.build_notify
:
utils.build_notify(currentBuild, 'my-packaging-step', "Deliver image"){
def myimage = docker.build("myimage:myimmutabletag")
artifacts.publish_image(myimage)
}
Get current M2A version¶
Available in 1.0 with library artifacts
Get the current version for which the active pipeline is running
Signature¶
artifacts.get_version(currentBuild)
Parameter
currentBuild
is the meta object pointing to the current buildReturn value is a string containing the version, i.e:
20.11~beta~352
Examples¶
Simple usage using utils.build_notify
and artifacts.create_artifact
:
utils.build_notify(currentBuild, 'my-packaging-step', "Deliver artifact"){
sh "mkdir -p build && echo 'Current build is ${artifacts.get_version(currentBuild)}' > build/output.txt"
artifacts.create_artifact('build')
}
Get current semantic version¶
Available in 1.0 with library artifacts
Get the current version for which the active pipeline is running
Signature¶
get_semantic_version()
Parameter
env
is the global env object that can be accessed during the buildcurrentBuild
is the meta object pointing to the current buildReturn value is a string containing the semantic version, i.e:
1.2.3
Examples¶
Simple usage using utils.build_notify
:
utils.build_notify(currentBuild, 'my-packaging-step', "Deliver artifact"){
sh "mkdir -p build && echo 'Current build is ${get_semantic_version(env, currentBuild)}' > build/output.txt"
artifacts.create_artifact('build')
}