На вкладке Домой в секции Ваша мастерская перейдите в раздел Репозитории.
Выберите репозиторий, в котором хотите создать секрет.
На странице репозитория в разделе Настройки репозитория перейдите в секцию Секреты.
На странице с секретами:
Если у вас еще нет ни одного секрета, нажмите Новый секрет.
Если у вас уже есть секреты, в правом верхнем углу нажмите Добавить секрет.
В открывшемся окне:
В поле Название введите название секрета.
В поле Секрет введите значение секрета.
Нажмите Добавить секрет.
Использовать значение секрета в CI/CD
Значения секретов можно использовать в CI/CD-процессах репозитория. Для этого в конфигурационном файле .sourcecraft/ci.yaml укажите секрет в формате ${{ secrets.<название_секрета> }}.
Пример
В примере представлен конфигурационный файл .sourcecraft/ci.yaml для CI/CD-процесса, который запускается при создании предложения изменений в ветку master и выполняет следующее:
# Для работы данного CI/CD создайте следующие ресурсы в Yandex Cloud:# • Реестр Yandex Container Registry# • Контейнер Yandex Serverless Containers# • Сервисный аккаунт с ролями serverless-containers.editor, # container-registry.images.pusher и iam.serviceAccounts.user# • Авторизованный ключ для доступа к Container Registry и Serverless Containerson:pull_request:-workflows:ci-cd-container-registry-serverlessfilter:source_branches: ["**", "!test**"]
target_branches:"master"workflows:ci-cd-container-registry-serverless:tasks:-build-push-deploy-serverlesstasks:-name:build-push-deploy-serverlessenv:YC_DOCKER_REGISTRY_URI:cr.yandex/<идентификатор_реестра>IMAGE_NAME:<имя_образа>YC_SERVERLESS_CONTAINER_NAME:<имя_контейнера>YC_SERVICE_ACCOUNT_ID:<идентификатор_сервисного_аккаунта>YC_AUTHORIZED_KEY_JSON:${{secrets.<название_секрета>}}YC_FOLDER_ID:<идентификатор_каталога>cubes:-name:install-ycscript:-curl-o./yc-install.sh-Lhttps://storage.yandexcloud.net/yandexcloud-yc/install.sh|bash-s---a-echo'source /root/yandex-cloud/completion.zsh.inc'>>~/.zshrc-chmod+x./yc-install.sh&&./yc-install.sh-i/tmp/yc-n&&mv/tmp/yc/bin/yc/usr/bin/yc-echo"$YC_AUTHORIZED_KEY_JSON">key.json-ycconfigprofilecreatesa-profile-ycconfigsetservice-account-keykey.json-ycconfigsetformatjson-ycconfigsetfolder-id$YC_FOLDER_ID-name:docker-loginscript:-yccontainerregistryconfigure-docker--profilesa-profile-name:docker-build-pushscript:-dockerbuild--tag$YC_DOCKER_REGISTRY_URI/$IMAGE_NAME--platformlinux/amd64.-dockerpush$YC_DOCKER_REGISTRY_URI/$IMAGE_NAME:latest-name:docker-logoutscript:-dockerlogout$YC_DOCKER_REGISTRY_URI-name:create-serverlessscript:-ycserverlesscontainerrevisiondeploy--container-name$YC_SERVERLESS_CONTAINER_NAME--image$YC_DOCKER_REGISTRY_URI/$IMAGE_NAME:latest--service-account-id$YC_SERVICE_ACCOUNT_ID