# 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,