Skip to content
This repository has been archived by the owner on May 13, 2022. It is now read-only.

Latest commit

 

History

History
55 lines (38 loc) · 3.13 KB

README.md

File metadata and controls

55 lines (38 loc) · 3.13 KB

👨‍🏫 Go module, как перевести свой PaaS-сервис

In Go 1.14, module support will be considered ready for production use, and all users will be encouraged to migrate to modules from other dependency management systems.

🏆 Мотивация

В Avito много команд, пишущих на Go свои сервисы и библиотеки. Некоторая часть из них всё ещё использует dep для управления зависимостями и/или даже старые версии компилятора.

На этом коротком семинаре я хочу показать

  • почему нам стоит прислушаться к совету Russ Cox
  • что поддерживать версии компилятора в актуальном состоянии это совсем не сложно
  • и что перейти на go mod проще простого, и даже наш любимый Kubernetes сделал это ещё год назад

🤦‍♂️ Проблема

👨‍💻 Три простых шага

  1. go env -w GOPRIVATE=go.avito.ru или echo 'export GOPRIVATE=go.avito.ru' | tee -a ~/.bash_profile ~/.zshrc.
  2. go mod init.
  3. Удалить legacy.
  4. Обновить Dockerfile.

🕵️‍♂️ Обзор

📝 To do

👨‍🔬 Перенести в research

🚀 Улучшение

  • go mod vs dep, преимущества + терминология (проект, модуль, пакет)
  • основные команды и кейсы для их использования, сравнение с dep
  • совмещение vX/vY, replace для локальной разработки

made with ❤️ for everyone