Какой строковый ключ подходит для артефакта Gitlab CI? - PullRequest
0 голосов
/ 07 мая 2020

Мне приходится работать с экземплярами Gitlab 11, у которых отключена загрузка артефактов, и это вне моего контроля. У меня есть доступный сервер Artifactory, и я хочу использовать его как замену хранилищу артефактов.

Мой вопрос:

Что Переменные среды Gitlab версии 11 объединены в виде ключа который однозначно идентифицирует артефакт gitlab.

В идеале, строки должны легко составлять строку.

Ниже приведен кандидат, но я не уверен, что это идеальный вариант (извините, забавный макет , SO не имеет таблиц AFAIK):

| Variable        | GitLab | Runner | Description                                           |
|-----------------|--------|--------|-------------------------------------------------------|
| CI_SERVER_NAME  | all    | all    | The name of CI server that is used to coordinate jobs |
| CI_PROJECT_PATH | 8.10   | 0.5    | The namespace with project name                       |
| CI_JOB_NAME     | 9.0    | 0.5    | The name of the job as defined in .gitlab-ci.yml      |
| CI_COMMIT_SHA   | 9.0    | all    | The commit revision for which project is built        |

1 Ответ

0 голосов
/ 07 мая 2020

Как насчет использования UUID вместо этого? Это обязательно однозначно идентифицирует артефакт.

См. Как создать GUID / UUID?

Вы можете совместно использовать UUID между заданиями с атрибутом cache в .gitlab-ci.yml, например:

image: ubuntu

stages:
- uuidgen
- show-uuid

cache:
 paths:
   - uuid.txt

mk_uuid:
  stage: uuidgen
  script:
    - apt-get update
    - apt-get install -y uuid-runtime
    - uuidgen > uuid.txt

myjob_1:
  stage: show-uuid
  script:
   - echo my UUID is "$(cat uuid.txt)"

myjob_2:
  stage: show-uuid
  script:
   - echo my UUID is "$(cat uuid.txt)"

Если вы не можете использовать UUID, https://docs.gitlab.com/ee/ci/variables/predefined_variables.html перечисляет предварительно определенные переменные, включая перечисленные вами переменные - если вы создаете только одну артефактов на задание, вас устроит то, что вы указали.

...