Сообщения

Сообщения за сентябрь, 2024

CI/CD, Conan2

https://www.phind.com/search?cache=s8hn916c54qhsmusu6crj2ab Отлично, давайте рассмотрим, как Conan 2 + Artifactory могут дополнить вашу рабочую схему Submodules + GitLab + CMake для проекта на C++. Дополнительное преимущество Conan 2 Conan 2 предоставляет несколько преимуществ: Управление зависимостями: Conan 2 позволяет легко управлять версиями библиотек и их конфигурациями. Согласованность сборки: Обеспечивает согласованную среду разработки между разными системами. Автоматизация: Позволяет автоматизировать процесс установки зависимостей в CI/CD пайплайнах. Как интегрировать Conan 2 с существующей схемой Интеграция с GitLab: Создайте репозиторий Conan на GitLab. Настройте CI/CD пайплайн для автоматического опубликования пакетов в репозитории Conan при каждом push. Использование в проекте: Добавьте conanfile.py в ваш проект. Определите зависимости в методе requirements() . Интеграция с CMake: В файле conanfile.py используйте метод generate() для настройки CMake...

Conan, Boost, Install

 Отлично! Давайте адаптируем процесс создания проекта с использованием библиотеки Boost и настройки CI/CD под операционную систему Ubuntu. В этом руководстве предполагается, что у вас уже установлены необходимые инструменты, такие как компилятор C++, CMake и Git. Этап 1: Установка необходимых инструментов Перед тем как начать, убедитесь, что у вас установлены следующие инструменты: sudo apt update sudo apt install build-essential cmake git Этап 2: Установка Conan Conan — это менеджер пакетов для C++, который упрощает управление зависимостями.     Установка Python и pip (если не установлены):    sudo apt install python3 python3-pip     Установка Conan:    pip3 install conan Этап 3: Создание проекта     Создайте каталог для проекта и перейдите в него:    mkdir my_project    cd my_project     Инициализация репозитория Git:    git init     Создайте файл CMakeLists.txt:     Созд...

Conan, GitHub,Actions

Что такое Conan и JFrog Artifactory Community? Conan — это менеджер пакетов для C/C++, который позволяет управлять зависимостями ваших проектов. Он облегчает процесс поиска, установки и обновления библиотек, нужных для вашего проекта, обеспечивая простоту и согласованность версий. Основные характеристики Conan:     Управление зависимостями: Позволяет легко добавлять, обновлять и удалять библиотеки.     Кросс-платформенность: Поддерживает различные платформы и компиляторы, что делает его универсальным инструментом.     Версионность: Управляет версиями библиотек, что помогает избежать конфликтов зависимостей. JFrog Artifactory Community — это хранилище для управляемых артефактов, поддерживающее множество форматов пакетов, включая Maven, npm, Docker, PyPI и, конечно, Conan. Основные функции Artifactory:     Централизованное хранилище: Позволяет хранить и управлять всеми артефактами в одном месте.     Интеграция с CI/CD: Может быть интегриро...

GitHub, Actions

GitHub Actions — это интегрированная система непрерывной интеграции и непрерывного развертывания (CI/CD), встроенная в платформу GitHub. Она позволяет автоматизировать различные действия в процессе разработки, включая сборку, тестирование и развертывание приложений. Вот основные аспекты технологии GitHub Actions: 1. Автоматизация рабочих процессов GitHub Actions позволяет создавать рабочие процессы (workflows), которые состоят из последовательности действий (actions). Эти рабочие процессы могут автоматически запускаться на основе определенных событий, например:     Пуш к репозиторию     Создание или запрос на слияние (pull request)     Публикация релиза     Запланированные задачи (по расписанию) 2. Действия (Actions) Каждое действие — это отдельный шаг в рабочем процессе. GitHub предоставляет множество предустановленных действий, которые можно использовать, или же можно создавать собственные. Действия могут выполнять разнообразные задачи, такие ка...

Ubuntu, Server

Это хороший вопрос, и он вовсе не глупый! Позвольте объяснить. В серверной версии Ubuntu, как вы правильно заметили, графический интерфейс по умолчанию отсутствует. Это связано с тем, что серверы в основном управляются через командную строку и предназначены для выполнения фоновых задач без визуального взаимодействия. Когда вы используете библиотеку matplotlib в Python для создания графиков, по умолчанию она пытается открыть графическое окно для отображения рисунка. Однако в среде без графического интерфейса (например, на сервере) это окно не может быть создано. Возможные решения     Сохранение графиков в файл:     Вы можете сохранить графики в файл (например, PNG, PDF или SVG) вместо того, чтобы выводить их на экран. Вот пример, как это сделать:    import matplotlib.pyplot as plt    # Пример данных    x = [1, 2, 3, 4, 5]    y = [2, 3, 5, 7, 11]    plt.plot(x, y)    plt.title("Пример графика")    pl...

CI/CD, Submodules, GiLab, GitHub, Server

 хема CI/CD (Continuous Integration / Continuous Deployment) с использованием подмодулей (submodules) и GitHub может быть организована следующим образом: 1. Что такое CI/CD?     CI (Непрерывная интеграция): Практика, при которой разработчики регулярно интегрируют свои изменения в основной репозиторий. Каждый коммит запускает автоматизированное тестирование, что позволяет быстро выявлять проблемы.     CD (Непрерывное развертывание или продвижение): Процесс, который автоматически разворачивает код на производственной среде после успешного прохождения всех тестов. Это может быть как полное развертывание (Continuous Delivery), так и автоматическое обновление приложения (Continuous Deployment). 2. Использование подмодулей     Подмодули Git: Позволяют включать один Git-репозиторий в другой. Это полезно для управления зависимостями, особенно если они находятся в разных репозиториях. Например, если у вас есть библиотека, которая используется в нескольких проек...