Я полагаю, что различия связаны только с навыками и разрешениями пользователя.
Первый способ, который может сделать любой, поскольку переменные автоматически присутствуют в выполняемом задании.
Второй, любой, с любым Права доступа могут создавать личный токен доступа (но имеет дополнительный шаг по сравнению с 1 для создания токена доступа).
В-третьих, кто-то с правильными разрешениями может создать ключ развертывания. Ключи развертывания не дают доступа к API, как это делают персональные токены доступа, и имеют только разрешение на извлечение / чтение данных в хранилище, они не могут записывать / pu sh.
Четвертый вариант, он позволяет вы оба можете читать / извлекать образы контейнеров из реестра, но это также позволяет вам занести sh в реестр. Это полезно, если у вас есть шаг CI, который создает приложение в образе, или что-то еще, где вы генерируете образ контейнера и хотите поместить его sh в реестр (так что еще один шаг в конвейере может его сбросить). и использовать его). Я предполагаю, что эта опция не указана вместе с другими, так как она предназначена для создания изображений контейнеров. Вы, вероятно, могли бы использовать его, как и любой другой.