git - 无法使用 Ant Target 克隆 GIT 存储库
问题描述
我正在尝试编写一个 Ant 目标来克隆一个 git 存储库。以下是 Ant 目标。这里的 ORGANIZATION 是公司的名称,GROUP 是组名,REPOSITORY 是存储库的名称。
<target name ="clone">
<sshexec host="github.ORGANIZATION.com"
username="git"
keyfile="${user.home}/.ssh/id_rsa"
passphrase="pujain"
trust="true"
command="git clone git@github.ORGANIZATION.com:GROUP/REPOSITORY.git"/>
</target>
我收到以下异常:
[sshexec] 您似乎正在使用 ssh 克隆 git:// URL。
[sshexec] 确保您的 core.gitProxy 配置选项和
[sshexec] GIT_PROXY_COMMAND 环境变量未设置。
我可以从 cmd 执行相同的命令。
解决方案
正确的 SSH URL 将是(对于私有的自托管 GitLab 服务器):
git@github.ORGANIZATION.com:GROUPNAME/REPOSITORY.git
^^^^^^^^^^
在 repo 名称之前应该有一个 ':' 和一个组或个人帐户。
你sshexec taks
想要做的是:
- 连接到主机“
git@github.ORGANIZATION.com:REPOSITORY.git
”(这没有意义) - 连接到远程服务器后,执行
git clone
.
如果您的脚本需要克隆 GitLab 存储库,那么您只需要一个exec 任务,而不是 SSH exec 任务。
<exec executable="git" dir="D:\" failonerror="true">
<arg line="clone git@github.ORGANIZATION.com:REPOSITORY.git dest" />
</exec>
但这不适用于受密码保护的私钥(除非它首先加载到 ssh-agent 中)。
您最好使用专为该用途制作的只读部署密钥,无需密码。
推荐阅读
- nexus - Talend/Nexus:有没有办法将 talend open studio 与 nexus 服务器连接起来
- wordpress - TwentySeventeen 主题中的自定义分类存档页面
- assembly - 机器代码中缺少 NASM 源中的第一条指令(反汇编)
- git - “在后台自动打包存储库以获得最佳性能”失败并出现奇怪的 Unlink 错误
- powershell - 解析日志文件,匹配字符串数组
- snowflake-cloud-data-platform - 仅使用 REST 和 SQL 命令批量插入到 Snowflake
- c-preprocessor - 如何在 Eclipse CDT 中包含用户预处理器?
- java - 同一页面中的多个 AjaxLazyLoadPanel Wicket 8
- python - IndexError 超出范围,但列表元素仍然打印
- javascript - 如何防止在 WIFI 之外访问我的网页?