如何在 jelastic jps 清单中使用我的 gitlab 个人访问令牌?

问题描述

直到现在,我一直在使用公共存储库,在那里一切都很顺利和容易。但是,我现在想切换到私有存储库。

我看到了与 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 不是用 curlwget 完成我的工作的正确方法。另外,我不知道如何让这样的东西工作:

onInstall:
  install:
    jps: ${baseUrl}/jelastic/tools.jps?access_token=${settings.accesstoken}

有人可以帮忙吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)