При сборке приложения будут автоматически определяться (вшиты в исходник) ряд переменных:
- Репозиторий (ссылка) - переменная
Repo
- Имя ветки с исходным кодом - переменная
Branch
- Commit из которого происходит сборка - переменная
Commit
- Имя компонента - переменная
Name
- Время сборки компонента - переменная
Time
В коде такие переменные объявлять так (пакет main):
var (
Name string = "API"
Repo string
Branch string
Commit string
Time string
)
Для такой сборки см. файл Makefile
и весь исходным код с примером в данном репозитории.
Данная сборка будет запускать автоматически в Jenkins.
Предлагаю обозначать как в примере у меня в репозитории (main.go)
Весь запуск можно разбить на 4 этапа:
- При запуске в самом начале распечатываем Build Info в stdout;
- Загружаем весь Config и распечатываем его в stdout;
- Проверяем все зависимости от других компонентов и распечатываем каждый статус в stdout;
- Основной запуск приложения и далее применимаем весь трафик.