Как получить репозиторий gitlab с помощью composer и кеша - PullRequest
0 голосов
/ 12 декабря 2018

Используя composer, я хочу установить репозиторий из нашего частного gitlab (внутренний gitlab недоступен онлайн).Я попробовал другой подход, но, похоже, не получил то, что хотел.

В composer.json вот как я добавил репозиторий из нашего личного гитлаба.

"repositories": {
   "domain-wordpress/plugin-flux-mention": {
       "type": "git",
       "url": "http://git.domain.com/wordpress/plugin-flux-mention.git"
    }
}

Я пытался использовать тип vcs или тип gitlab , но я добавил некоторые проблемы с аутентификацией, поэтому кто-нибудь знает, как установить аутентификацию для каждого отдельного типа (git, gitlab или vcs)?

Используя тип git, мне удалось пройти проверку подлинности.Для типа git мне пришлось добавить следующее в composer.json

"config": {
    "gitlab-domains": ["git.domain.com"],
    "gitlab-token": {"git.domain.com":  "Mytoken"}
},

. С этими двумя конфигурациями все работает, но основной ответвление используется, когда я не указываю тег. Как я могу сказать композитору только установить тег?

Кэш:

Использование типа git естьлюбой кеш?

При использовании vcs у меня вроде бы был какой-то кеш, но я не уверен.

1 Ответ

0 голосов
/ 14 декабря 2018

Аутентификация

Если в вашем репозитории gitlab есть обычный пакет composer, он будет работать с vcs в качестве типа репозитория.Чтобы решить ваши проблемы с аутентификацией, создайте пару ключей SSH на своем локальном компьютере и добавьте открытый ключ в свою учетную запись gitlab.

Создайте ключ:

ssh-keygen -o -t rsa -b 4096 -C "email@example.com"

Скопируйте открытый ключ в буфер обмена (в зависимости от вашей ОС)

pbcopy < ~/.ssh/id_ed25519.pub (OSX)

xclip -sel clip < ~/.ssh/id_ed25519.pub (Linux)

cat ~/.ssh/id_ed25519.pub | clip (Windows)

Затем войдите в свою учетную запись Gitlab и:

Добавьте свой открытый ключ SSH в свою учетную запись GitLab, щелкнув аватар в правом верхнем углу и выбрав «Настройки».С этого момента перейдите к SSH Keys и вставьте свой открытый ключ в раздел «Ключ».Если вы создали ключ с комментарием, он появится в разделе «Заголовок».Если нет, присвойте своему ключу идентифицируемый заголовок, например, «Рабочий ноутбук» или «Домашняя рабочая станция», и нажмите «Добавить ключ».

Чтобы проверить, работает ли он:

ssh -T git@gitlab.com

Это взято из GitLab docs

Установка определенной ветви или тега

В вашем composer.json найдите раздел require идобавьте свой пакет как:

{
    "require" : {
        "domain-wordpress/plugin-flux-mention": "1.0.0"
    }
} 

Если вы хотите установить определенную ветку, используйте «dev- $ branchname», поэтому для ветви с именем develop имя ветви будет dev-develop.

Кэш

Кэши Composer vcs по умолчанию.Чтобы выяснить, кэшируется ли ваш репозиторий, найдите глобальную установку Composer (для OSX это ~/.composer).Кэши находятся внутри папки cache/vcs:

$ ls ~/.composer/cache/vcs

Для получения дополнительной информации о кэше Composer см. Документацию

...