# In buildable Repository: ## If configured as script build Configure script that shall be executed by alfred relative to project root. ## If no script is configured ```text .alfred |- pre.sh |- job.sh |- post.sh ``` - Scripts are run in the mentioned order - No further semantics are connected to them - If single files are missing they are skipped ## Environment variables - `ALFRED_LOG_FILE`: Path to the log file of the current build - `ALFRED_REV`: Revision string passed to the trigger URL - All environment variables configured in the build config on the alfred server # On Alfred server ```text $ALFRED_HOME |- builds |- $buildId.properties |- $buildId2.properties ``` ## $buildId.properties Example: `static-site.properties` ```properties user=nonroot apikey=4711 # single script execution script=/home/nonroot/static-site/build.sh # git based execution git.repo.url=https://some-git-server.tld/some-git-repo/url git.clone.timeout=30 git.workspace=/tmp/workspaces/static-site # environment variables SOME_ENV=SOME_ENV_VALUE FOO=BAR ``` In this case the executable configured by `script` will be called. Otherwise, alfred would try to clone the repository configured by `gitrepo` under the path configured by `workspace` and the scripts `.alfred/pre.sh`, `.alfred/job.sh` and `.alfred/post.sh` will be called,