GoCD borrows from Java standards / defacto standards and also from Linux standards / defacto standards. It may not be convenient but learning something about shell notation and Java prior art (e.g. Ant) can be useful. The best books I can recommend to learn Linux / Unix shell are Unix Power Tools and Unix in a Nutshell.
https://www.goodreads.com/book/show/172314.UNIX_Power_Tools https://www.goodreads.com/book/show/331673.UNIX_in_a_Nutshell Everything you ever wanted to know about the Linux shell (bash) may be found in the man page (Linux Manual Page) a copy of which is here: https://linux.die.net/man/1/bash But it is not an easy read for a beginner. You might also want to google for "bash tutorial" or "bash beginner tutorial" to get the hang of things. GoCD uses bash on Linux. Once you understand how bash works some of these GoCD behaviors might make more sense. It also helps to understand Java prior art such as Apache Ant. Ant documentation on how properties (and environment variables) are used is here: https://ant.apache.org/manual/properties.html https://ant.apache.org/manual/Tasks/property.html I found this quote particularly instructive: "When Ant started to support setting properties from environment variables it ran on Java 1.2 where System.getEnv didn't work. So we decided to start a command in a new process which prints the environment variables, analyzes the output and creates the properties. Once Java 5 became our baseline we could have switched to getEnv but it returned different results on some platforms so we stuck with the command approach to remain backwards compatible." What this basically says is that at one time Java made environment variables very hard - so people tended to avoid them in the Java world - and used Properties instead (while the whole rest of the world, and all other programming languages, used Environment Variables). GoCD uses both. Sort of. You will see there there are places you can set Environment Variables in GoCD where you cannot set Properties. You will quickly notice how Ant uses properties is similar to how Bash uses environment variables. CoCD tries to use both. On Windows I think GoCD uses CMD.EXE - some documentation for that is here: https://ss64.com/nt/cmd.html Once you understand Environment Variables in Bash and CMD.EXE and understand Properties in Ant, GoCD makes more sense. General Note on GoCD Documentation: The behavior of GoCD is controlled by the XML configuration. The Web UI documentation assumes that you already understand the XML, so it doesn't always explain exactly what the Web UI does. I have often found it helpful to read the "Configuration Reference" for segments of the "Config XML" which are related to the GoCD Web UI changes that I am trying to make. https://docs.gocd.org/current/configuration/configuration_reference.html Brian Fennell -- You received this message because you are subscribed to the Google Groups "go-cd" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/go-cd/CAGJwi9gftjW9%3DDZnbQTsKoitEwSXxp8JHC1_RH1SakPaRT1_bw%40mail.gmail.com.
