Steps to reproduce:
- Copy Jenkins home directory to a filesystem that does not support symlinks (AWS Storage Gateway in my case)
- Add -Dhudson.Util.noSymLink=true to java options in tomcat configuration
- Start Jenkins
- Perform a build or a promotion with the Promotions plugin
The problem appears to be introduced in commit ed748d4b810ac1dd85e5da7857bc203f5773f329
Jenkins tries to create the symlink using the Java 7+ approach. If it fails, it then checks hudson.Util.noSymLink before trying other methods to create the symlink.
Recommended fix would be to test for NO_SYMLINK at the very beginning of createSymlink.