我们gitlab在我们的办公室设置了一个设置,我们每周有大约100-150个项目在那里创建,而Admin希望保持创建回购和分配团队的控制权,对任何人来说似乎都有相当多的任务.每周创造许多回购.
有没有办法create repo on Gitlab using CLI- 我不介意我必须使用ssh它.
Mic*_*ihs 18
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语法编码(如上所述).
Chi*_*and 12
由于您只想创建一个仓库,因此不需要第三方应用程序.您可以直接向gitlab发送帖子请求,这将创建回购.
转到个人资料中的帐户标签,您会找到一个私人令牌.收到.
现在打开终端并使用私有令牌(例如foo)和您的回购名称(比如说bar)运行此命令.
curl -H "Content-Type:application/json" https://gitlab.com/api/v3/projects?private_token=foo -d "{ \"name\": \"bar\" }"
Run Code Online (Sandbox Code Playgroud)
为方便起见,如果您不想每次都运行此命令,则可以创建shell脚本.
#!/bin/sh
curl -H "Content-Type:application/json" https://gitlab.com/api/v3/projects?private_token=foo -d "{ \"name\": \"$1\" }"
Run Code Online (Sandbox Code Playgroud)
将其保存到文件gcr.sh并使用可执行文件chmod +x gcr.sh.
现在要创建一个repo名称bar,运行
$ ./gcr.sh bar
Run Code Online (Sandbox Code Playgroud)
与ChillarAnand和eigenfield之前的答案相比,虽然这个答案也使用了 REST API with curl,但它还:
curl如果出现错误,则以非零代码退出(通过-f)path参数代替name参数,从而避免使用不同路径的风险首先,获取有权访问该范围的令牌api。
REPO_NAME=foo1
GITLAB_TOKEN=xxxxxxxxxxxxxxxxxxxx # Enter your own.
curl -f -X POST \
-H "PRIVATE-TOKEN: ${GITLAB_TOKEN}" -H "Content-Type:application/json" \
"https://gitlab.com/api/v4/projects" -d "{\"path\": \"${REPO}\", \"visibility\": \"private\"}"
Run Code Online (Sandbox Code Playgroud)
该答案仅与以用户身份创建存储库相关。作为管理员创建存储库的请求是不同的。
顺便说一句,显式创建存储库是可选的,因为已知 GitLab 能够在第一次推送时创建存储库。(图片来源:Elan R.)
现在 gitlab 支持仅通过提供 URL 来创建新的存储库。如果您的 gitlab 用户名是那么shahidcodes您可以执行以下步骤 -
git init # init a repo if you don't have already
git remote add origin https://gitlab.com./<your_username>/<new_repo_name>
git push -u origin master
Run Code Online (Sandbox Code Playgroud)
您将看到以下来自 git 输出的消息
remote: The private project shahidcodes/new_repo_name was successfully created.
remote:
remote: To configure the remote, run:
remote: git remote add origin https://gitlab.com/shahidcodes/new_repo_name.git
remote:
remote: To view the project, visit:
remote: https://gitlab.com/shahidcodes/new_repo_name
remote:
remote:
remote:
To https://gitlab.com/shahidcodes/new_repo_name
* [new branch] master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.
Run Code Online (Sandbox Code Playgroud)
默认情况下,GitLab 将创建一个私有存储库。而且似乎没有办法将其配置为创建公共。
| 归档时间: |
|
| 查看次数: |
22222 次 |
| 最近记录: |