问题描述
直到现在,我一直在使用公共存储库,在那里一切都很顺利和容易。但是,我现在想切换到私有存储库。
我看到了与 github 存储库相关的 this answer。不幸的是,它似乎不适用于 gitlab。尤其是 ?access_token=${settings.accesstoken}
似乎不能被 gitlab 很好地识别。
我应该如何处理我的 gitlab 访问令牌?直到现在我才能弄清楚(但我觉得这有点废话)是我应该替换
baseUrl: https://www.my-gitlab.com/my-company/my-project/my-repo/-/raw/master
onInstall:
- cmd:
- curl -fsSL ${baseUrl}/my-folder/my-script.sh | /bin/sh
- wget ${baseUrl}/my-folder/my-script.sh -O my-script.sh
与
globals:
GITLAB_API_URL: http://www.my-gitlab.com/api/v4/projects/my-project-id/repository/files
onInstall:
- cmd:
- curl -H "PRIVATE-TOKEN: ${settings.accesstoken}" -fsSL ${globals.GITLAB_API_URL}/my-folder%2Fmy-script.sh/raw?ref=master | /bin/sh
- wget --header="PRIVATE-TOKEN: ${settings.accesstoken}" ${globals.GITLAB_API_URL}/my-folder%2Fmy-script.sh/raw?ref=master -O my-script.sh
但我觉得上面的替换有点复杂。我很确定一定有一些与 gitlab 上的 github 所做的事情相当的东西。此外,上述替换并不完全有效。例如调用
curl -H "PRIVATE-TOKEN: ${settings.accesstoken}" -fsSL ${globals.GITLAB_API_URL}/my-folder%2Fmy-script.sh/raw?ref=master | /bin/sh
将 ${settings.accesstoken}
和 ${globals.GITLAB_API_URL}
替换为相关值,在我的开发 PC 上运行良好;但是,当该命令在 jelastic 上运行时,我收到错误
/bin/bash: line 1: {curl -H \"PRIVATE-TOKEN:<my-token>\" -fsSL http://www.my-gitlab.com/api/v4/projects/my-project-id/repository/files/my-folder/my-script.sh/raw?ref=master | /bin/sh}: No such file or directory","nodeid":63261,"exitStatus":127,"out":""}
我不知道为什么这不起作用,我想使用 gitlab api 不是用 curl
和 wget
完成我的工作的正确方法。另外,我不知道如何让这样的东西工作:
onInstall:
install:
jps: ${baseUrl}/jelastic/tools.jps?access_token=${settings.accesstoken}
有人可以帮忙吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)