Просто архив с исходным кодом проекта или репозиторий на GitHub. Внутрь положить requirements.txt для установки зависимостей. И сделать фикстуры для начальной инициализации. Всё.
Не делать такую зависимость. Обычно, пользователи приложений, предназначенных для разворачивания в web-контейнере, готовы к тому, что конфигурация сборщика будет только собирать артефакт, а деплоем они должны будут заниматься самостоятельно. Если стоит задача сделать софт, который будет запускаться сразу без деплоя, то можно использовать встроенный Tomcat или лучше даже Jetty.
Книга очень толковая, доходчиво объясняет оставшиеся неизменными базовые принципы и подходы. За прошедшие годы, на мой взгляд, поменялась в основном всякие мелочи, которые легко узнать из документации. Самое серьёзное изменение - асинхронность, но эта тема не для начинающих.