Рубрики
Uncategorized

Лучшие практики Docker: обойдите свой Dockerfile!

В разработке программного обеспечения лучшие практики — это путь. Вы должны сделать то же самое при разработке … Tagged Docker, DevOps, Tutorial, Codequality.

В разработке программного обеспечения, Лучшие практики — это путь. Вы должны сделать то же самое при разработке кода инфраструктуры! В этом посте мы рассмотрим, как 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»