Ответ 1
Вы можете использовать gitlab-cli и автоматизировать процесс, используя оболочку script. Я использовал это в gitlab 5.x, но, согласно сайту, он может не работать с gitlab 6.
У нас есть установка gitlab
в нашем офисе, и у нас есть около 100-150 проектов каждую неделю, чтобы создать там, в то время как Администратор хочет сохранить контроль над созданием репозиториев и назначением команд для него, кажется, бит задачи для любого, чтобы создать, что много РЕПО каждую неделю.
Есть ли способ create repo on Gitlab using CLI
- я не буду возражать, если я должен использовать ssh
для него.
Вы можете использовать gitlab-cli и автоматизировать процесс, используя оболочку script. Я использовал это в gitlab 5.x, но, согласно сайту, он может не работать с gitlab 6.
gitlab-cli больше не поддерживается, автор ссылается на Gitlab модуль, который будет использоваться вместо этого - он также включает инструмент CLI.
Для вашего конкретного запроса, а именно для создания проекта в командной строке, используйте следующую команду:
gitlab create_project "YOUR_PROJECT_NAME" "{namespace_id: 'YOUR_NUMERIC_GROUP_ID'}"
Обязательно используйте опцию namespace_id
, а не group_id
! Если вы не знаете, что такое group_id
, вы можете использовать
gitlab groups | grep YOUR_GROUP_NAME
чтобы узнать.
Параметры для каждой команды могут быть выведены из документации API. Любой нескалярный значащий параметр должен быть закодирован во встроенном синтаксисе YAML (как указано выше).
Поскольку вы просто хотели создать репо, нет необходимости в сторонних приложениях. Вы можете напрямую отправить запрос на отправку в gitlab, который создаст репо.
Перейдите в вкладку учетной записи в своем профиле, вы найдете частный токен. Скопируйте это.
Теперь откройте терминал и запустите эту команду с помощью частного токена (скажем foo
) и вашего имени репо (скажем bar
).
curl -H "Content-Type:application/json" https://gitlab.com/api/v3/projects?private_token=foo -d "{ \"name\": \"bar\" }"
Для удобства вы можете создать оболочку script, если вы не хотите запускать эту команду каждый раз.
#!/bin/sh
curl -H "Content-Type:application/json" https://gitlab.com/api/v3/projects?private_token=foo -d "{ \"name\": \"$1\" }"
Сохраните это в файле gcr.sh
и сделайте его выполнимым с помощью chmod +x gcr.sh
.
Теперь, чтобы создать имя репо bar
, запустите
$ ./gcr.sh bar
Вот что у меня в ~/.bashrc
gitlify() {
[ $# -eq 0 ] && return 1
repo_name=$1
username=smeagol
token=01234567890
curl -H "Content-Type:application/json" https://gitlab.com/api/v4/projects?private_token=$token -d "{\"name\": \"$repo_name\"}"
if [ $? -eq 0 ];then
git init
git add .
git commit -m "first blood"
git remote add origin [email protected]:$username/$repo_name.git
git push -u origin master
else
echo "error create gitlab repo $repo_name"
fi
}
Сначала вы должны иметь токен для вашего имени пользователя. Как только эта функция bash помещена, вы можете использовать ее:
mkdir /tmp/firstblood
echo '#hello world' > /tmp/firstblood/README.md
cd /tmp/firstblood
gitlify fallenangel
Этот фрагмент только для gitlab.com. У меня есть еще один, который я назвал gitify для github.com.
Лучше всего в простой способ создать репо через командную строку
touch README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin [email protected]:alexpchin/<reponame>.git
git push -u origin master
Простота в использовании:
Этот ответ актуален для августа 2019 года. В будущем его данные могут устареть.
lab - инструмент CLI, упрощающий некоторые операции с репозиториями GitLab. lab - это эквивалент Gitlab для расширения hub для GitHub.
ИспользованиеПосле первого запуска лаборатория предложит ввести токен. Создайте личный токен доступа с нужной областью действия api
→ вставьте его в терминал → Enter.
Затем запустите lab project create
:
lab project create -n KiraLab --public -d "Kira lab demo project"
Доступны варианты:
--public
- сделать хранилище общедоступным, а не частным-d
, --description
- создание описанияКросс-платформенная утилита командной строки, написанная на Go, для операций с репозиториями GitLab.
ИспользованиеСоздайте свой личный токен доступа GitLab → gitlab-cli login YOUR_TOKEN
→ выполните команду gitlab-cli project create
:
gitlab-cli project create KiraGitLabCLI
Пожалуйста, не путайте этот проект Go и инструмент Ruby gitlab-cli из ответа @thameera.