Quote from rom https://www.ibm.com/developerworks/library/a-devops6/index.html
The key prerequisite to versioning everything is that all source artifacts must be in a scripted form. This goes for the infrastructure, the data, configuration, and the application code. The only exception is for libraries and packages — JAR files and RPM packages, for example — that you use but never modify. After all source artifacts are scripted, you can easily version them.
What do they mean by "source artifacts must be in a scripted form"?