В разработке программного обеспечения, Лучшие практики — это путь. Вы должны сделать то же самое при разработке кода инфраструктуры! В этом посте мы рассмотрим, как Linter может повысить вашу производительность, как использовать его с помощью DockerFile и как реализовать его в трубопроводе CI.
Что такое Линтер? Зачем нам это?
Согласно Википедии, а Линтер это Инструмент анализа статического кода, используемый для помещения ошибок программирования, ошибок, стилистических ошибок и подозрительных конструкций . В качестве инструмента анализа статического кода Linters нельзя использовать для обнаружения ошибок с компиляцией, но очень полезны для поиска опечаток и синтаксических ошибок. Использование Linter позволит вам рано обнаруживать ошибки, быстрее исправлять их и уменьшить ошибки перед выполнением.
Хадолин
Инструмент, который мы будем использовать, называется HadoLint И, как вы можете вспомнить с названия, это Линтер. Он построен, чтобы помочь вам следовать Лучшие практики Docker , и он также использует Shellcheck Чтобы осмотреть свой Запустить
инструкции.
Как это настроить
Это очень легко использовать как в местной среде, так и в CI, вы можете найти Интеграционные документы здесь Анкет
Если вы пользователь кода VS, есть Расширение HadoLint Анкет Если вы хотите использовать его непосредственно в GitHub, есть Действие HadoLint Github Анкет
Определите пользовательские правила
Если вы не хотите следовать всем правилам, определенным HadoLint, вы можете легко отключить некоторые из них. Вам нужно только создать файл с именем ~/.config/hadoLint.yaml
, полный Список правил здесь Анкет Примером пользовательского файла правил является:
ignored: - DL3000 - SC1010
Как запустить его в CI
Чтобы обеспечить эту лучшую практику, вы можете добавить тест в свой трубопровод развертывания Docker. Мы можем реализовать это в Ansible Pipeline Мы привыкли выполнять ЕДИНЦИОННЫЕ Тесты для Docker Анкет
Давайте добавим новую роль под названием «Беги HadoLint на Dockerfile»:
- name: Run hadolint on Dockerfile shell: | docker run --rm -i \ -v "{{ role_path }}/files/hadolint.yaml":/root/.config/hadolint.yaml hadolint/hadolint \ < {{ dockerfile_name }}
В этом примере мы напрямую запускаем официальное изображение HadoLint Docker против Dockerfile. Я устанавливаю HadoLint.yaml
Файл для использования моей пользовательской конфигурации правил.
Это оно!
Теперь вы должны знать все, что вам нужно, чтобы использовать HadoLint для вашего DockerFile.
Связаться со мной в Твиттере @gasparevitta и Позвольте мне знать ваши мысли!
Вы можете найти фрагменты кода на GitHub Анкет Эта статья была первоначально опубликована на Мой блог Анкет Отправляйся туда, если вам нравится этот пост и вы хотите прочитать другие, подобные ему!
Оригинал: «https://dev.to/gasparev/docker-best-practices-lint-your-dockerfile-5869»