Реестр пакетов Cargo
Для работы с реестром Cargo, необходимо получить транспортный токен GitFlic. С инструкцией по получению токена можно ознакомиться на странице.
В документации ниже встречается атрибут {домен_gitflic} На его место необходимо указать домен, в зависимости от варианта используемого GitFlic:
- для SaaS версии
registry.gitflic.ru - для Self-hosted
localhost:8080
Домен и порт для self-hosted версии может отличаться.
Настройка реестра Cargo
Для использование Cargo реестра необходимо создать/отредактировать файл конфигурации ~/.cargo/config.toml и добавить.
[registry]
global-credential-providers = ["cargo:token"]
[registries.gitflic]
index = "sparse+http://{домен_gitflic}/project/{ownerAlias}/{projectAlias}/package/-/cargo/"
| Уровень | URL |
|---|---|
| Проект | sparse+http(s)://{домен_gitflic}/project/{ownerAlias}/{projectAlias}/package/-/cargo |
| Компания | sparse+http(s)://{домен_gitflic}/company/{companyAlias}/package/-/cargo |
| Инстанс | sparse+http(s)://{домен_gitflic}/registry/package/-/cargo |
| Переменная в URL | Описание |
|---|---|
ownerAlias |
Псевдоним владельца проекта |
projectAlias |
Псевдоним проекта |
companyAlias |
Псевдоним компании |
Если необходимо сделать GitFlic реестром по умолчанию и не использовать флаг registry, следует добавить в конфигурацию ~/.cargo/config.toml следующий параметр
[registry]
default = "gitflic"
Для публикации пакетов или использования приватных репозиториев требуется выполнить команду:
cargo login --registry gitflic
В качестве данных для авторизации используется транспортный токен.
Работа с реестром
Добавление и установка пакета
Что бы добавить зависимость к вашему проекту необходимо выполнить:
cargo add {packageName} --registry gitflic
Либо вариант команды с указанием конкретной версии:
cargo add {packageName}@{packageVersion} --registry gitflic
Непосредственно для скачивания пакета необходимо выполнить:
cargo fetch
cargo build
Публикация и удаление пакета
Для публикации текущего состояния пакета в реестр GitFlic необходимо выполнить команду:
cargo publish --registry gitflic
Также при помощи утилиты cargo вы можете удалить указанную версию пакета из реестра при помощи команды:
cargo yank {packageName}@{packageVersion} --registry gitflic
Для того что бы вернуть пакет в индекс
cargo yank {packageName}@{packageVersion} --undo --registry gitflic
Обратите внимание
Yank означает, что эту версию нельзя подтянуть автоматически при добавлении новой зависимости без указания версии. Но если в Cargo.toml явно указать именно эту версию, cargo всё равно её установит.
Поиск пакета
Утилита cargo имеет встроенную функцию для поиска пакетов по части названия. Для использования данной команды необходимо передать название пакета и указать реестр, в котором необходимо провести поиск:
cargo search {packageName} --registry gitflic