github.com/buildtool/build-tools@v0.2.29-0.20240322150259-6a1d0a553c23/www/docs/conventions.md (about)

     1  # Conventions
     2  
     3  - The project folder must be a [Git](https://git-scm.com/) repository, with a least one commit
     4  - `Dockerfile` should be present in the root of the project directory
     5    (this can be overridden with [flags](/commands/build)).
     6    The `Dockerfile` will be used to build the project into a runnable docker image.
     7  - Kubernetes descriptor files must be located in the `k8s` folder (only needed for `deploy` and `promote`)
     8  - The `k8s` folder can also contain custom scripts that should be run during deployment
     9  - The name of the directory will be used as the name of the application
    10      - If running in CI, `ENV` variables will be used to determine the name of the project being built
    11      - The name can also be overridden using the `IMAGE_NAME` environment variable
    12  - The current commit id will be used as docker tag
    13  - The current branch will be used as docker tag. If you're on the `master` or `main`
    14    branch the docker image will also be tagged `latest`. The `latest` tag will also be pushed in that case.
    15  - [Targets](config/targets.md) (deployment targets) are configured in [`.buildtools.yaml` file(s)](config/config.md)
    16  - [`.buildtools.yaml` file(s)](config/config.md) will be merged together hierarchically and can be used for multiple
    17    projects
    18  - Use [Target](config/targets.md) names to use specific `k8s` files for different deployment targets