Selective deployment of software based on versioning schema
A method, computer system, and computer program product are provided for deploying software using a versioning schema. An n-dimensional string is obtained that describes a version of a component, wherein a value for each dimension describes a particular feature of the component. The n-dimensional string is analyzed using a template to determine each feature of the component. It is determined whether to deploy the version of the component based on the analyzing and based on criteria related to one or more features of the component.
1 . A computer-implemented method comprising:
obtaining an n-dimensional string that describes a version of a component, wherein a value for each dimension describes a particular feature of the component, and wherein the n-dimensional string indicates one or more differences between the version of the component and another version of the component;
analyzing the n-dimensional string using a template to determine each feature of the component;
determining whether to deploy the version of the component based on the analyzing and based on criteria related to one or more features of the component; and
automatically instantiating, based on the determining, a deployment module that deploys the version of the component to one or more computing devices or one or more networking devices or skips a deployment of the version of the component.
2 . The computer-implemented method of claim 1 , wherein determining whether to deploy the version of the component comprises:
receiving criteria related to the one or more features from a plurality of entities; and
identifying one or more entities having criteria that are satisfied by determined features of the component.
3 . The computer-implemented method of claim 1 , wherein the template indicates one or more of: a presence of each feature, an absence of each feature, a type of each feature, and a change for each feature.
4 . The computer-implemented method of claim 1 , wherein the component comprises a software module.
5 . The computer-implemented method of claim 1 , wherein the component comprises a package of issue identification and remediation modules.
6 . The computer-implemented method of claim 1 , wherein the one or more computing devices or the one or more networking devices are located in a networking or computing environment.
7 . The computer-implemented method of claim 1 , wherein the n-dimensional string includes a template identifier that identifies the template for determining each feature of the component.
8 . The computer-implemented method of claim 1 , wherein the n-dimensional string includes a nested n-dimensional string including a nested template that is used to determine features corresponding to a nested set of values.
9 . The computer-implemented method of claim 1 , wherein the n-dimensional string includes a product name or a category descriptor.
10 . A system comprising:
one or more computer processors;
one or more computer readable storage media; and
program instructions stored on the one or more computer readable storage media for execution by at least one of the one or more computer processors, the program instructions comprising instructions to operations including:
obtain an n-dimensional string that describes a version of a component, wherein a value for each dimension describes a particular feature of the component, and wherein the n-dimensional string indicates one or more differences between the version of the component and another version of the component;
analyze the n-dimensional string using a template to determine each feature of the component;
determine whether to deploy the version of the component based on the analyze operation and based on criteria related to one or more features of the component; and
automatically instantiate, based on the determine operation, a deployment module that deploys the version of the component to one or more computing devices or one or more networking devices or skips a deployment of the version of the component.
11 . The system of claim 10 , wherein the instructions to determine whether to deploy the version of the component comprise instructions to:
receive criteria related to the one or more features from a plurality of entities; and
identify one or more entities having criteria that are satisfied by determined features of the component.
12 . The system of claim 10 , wherein the template indicates one or more of: a presence of each feature, an absence of each feature, a type of each feature, and a change for each feature.
13 . The system of claim 10 , wherein the component comprises a software module.
14 . The system of claim 10 , wherein the component comprises a package of issue identification and remediation modules.
15 . The system of claim 10 , wherein the one or more computing devices or the one or more networking devices are located in a networking or computing environment.
16 . The system of claim 10 , wherein the n-dimensional string includes a template identifier that identifies the template for determining each feature of the component.
17 . The system of claim 10 , wherein the n-dimensional string includes a nested n-dimensional string including a nested template that is used to determine features corresponding to a nested set of values.
18 . One or more non-transitory computer readable storage media having program instructions embodied therewith, the program instructions executable by a computer to cause the computer to perform operations including:
obtaining an n-dimensional string that describes a version of a component, wherein a value for each dimension describes a particular feature of the component, and wherein the n-dimensional string indicates one or more differences between the version of the component and another version of the component;
analyzing the n-dimensional string using a template to determine each feature of the component;
determining whether to deploy the version of the component based on the analyzing and based on criteria related to one or more features of the component; and
automatically instantiating, based on the determining, a deployment module that deploys the version of the component to one or more computing devices or one or more networking devices or skips a deployment of the version of the component.
19 . The one or more non-transitory computer readable storage media of claim 18 , wherein the program instructions for determining whether to deploy the version of the component cause the computer to:
receive criteria related to the one or more features from a plurality of entities; and
identify one or more entities having criteria that are satisfied by determined features of the component.
20 . The one or more non-transitory computer readable storage media of claim 18 , wherein the template indicates one or more of: a presence of each feature, an absence of each feature, a type of each feature, and a change for each feature.