EПеременные среды
- USERNAME: имя пользователя учетной записи SSL.com. (Необходимый)
- PASSWORD: пароль учетной записи SSL.com (обязательно)
- CREDENTIAL_ID: Идентификатор учетных данных для сертификата подписи. Если credential_id опущен и у пользователя есть только один сертификат подписи кода eSigner, CodeSignTool будет использовать его по умолчанию. Если у пользователя есть более одного сертификата подписи кода, этот параметр является обязательным. (Необходимый)
- TOTP_SECRET: Секрет OAuth TOTP. Вы можете получить доступ к подробной информации о https://www.ssl.com/how-to/automate-esigner-ev-code-signing (обязательно)
- ИМЯ_ОКРУЖАЮЩЕЙ СРЕДЫ : Среда 'TEST' или 'PROD'. (Необходимый)
входные
-
путь_входного_файла: Путь к подписываемому объекту кода. (Необходимый)
-
выходной_каталог_путь: Каталог, в который будут записаны подписанные объекты кода. Если output_path опущен, файл, указанный в -file_path, будет перезаписан подписанным файлом.
Пример рабочего процесса подписи DLL кода .NET
конвейеры: по умолчанию: - шаг: # Вы можете добавить имя к шагу, чтобы упростить чтение и понимание дисплеев и отчетов. name: build-dotnet # Имя образа Docker, которое может включать или не включать URL-адрес реестра, тег и значение дайджеста image: mcr.microsoft.com/dotnet/sdk:3.1-bullseye # Команды для выполнения в пошаговом сценарии: # Созданные каталоги для артефактов - mkdir -p ${BITBUCKET_CLONE_DIR}/artifacts - mkdir -p ${BITBUCKET_CLONE_DIR}/packages # Сборка проекта dotnet с конфигурацией Release - dotnet build dotnet/HelloWorld.csproj -c Release # Копирование созданных артефактов в каталог артефактов - cp dotnet/bin/Release/netcoreapp3.1/HelloWorld-0.0.1.dll ${BITBUCKET_CLONE_DIR}/packages/HelloWorld.dll # Файлы, созданные на шаге, для совместного использования с артефактами следующего шага: - packages/HelloWorld.dll - step : # Вы можете добавить имя к шагу, чтобы сделать экранные формы и отчеты более удобными для чтения и понимания. name: sign-dotnet-artifacts # Службы, включенные для служб шага: - docker # Команды для выполнения в сценарии шага: # Созданные каталоги для артефактов - mkdir -p ${BITBUCKET_CLONE_DIR}/artifacts - mkdir -p ${BITBUCKET_CLONE_DIR}/ packages # Исправлена проблема с разрешениями dotnet — chmod -R 777 ${BITBUCKET_CLONE_DIR}/packages # Docker Pull CodeSigner Docker Image — docker pull ghcr.io/sslcom/codesigner:latest # Подписать артефакт с помощью CodeSigner docker image — docker run -i —rm --dns 8.8.8.8 --volume ${BITBUCKET_CLONE_DIR}/packages:/codesign/examples --volume ${BITBUCKET_CLONE_DIR}/artifacts:/codesign/output -e ИМЯ ПОЛЬЗОВАТЕЛЯ=${ИМЯ ПОЛЬЗОВАТЕЛЯ} -e ПАРОЛЬ=${ПАРОЛЬ} -e CREDENTIAL_ID=${CREDENTIAL_ID} -e TOTP_SECRET=${TOTP_SECRET} -e ENVIRONMENT_NAME=${ENVIRONMENT_NAME} ghcr.io/sslcom/codesigner:последний знак -input_file_path=/codesign/examples/HelloWorld.dll -output_dir_path=/codesign /вывод
Создайте новый репозиторий на bitbucket.org
Выберите параметры для конкретных полей:
а) Уровень доступа: установите флажок «Частный репозиторий».
б) Включить README? Нет
c) Имя ветки по умолчанию: main
г) включить .gitignore? Нет
Создайте новый проект в редакторе кода
Под новым проектом создайте файл .yml
Написать скрипт для этапа сборки
Написать сценарий знакового этапа
Полный сценарий:
конвейеры: по умолчанию: - шаг: # Вы можете добавить имя к шагу, чтобы упростить чтение и понимание дисплеев и отчетов. name: build-dotnet # Имя образа Docker, которое может включать или не включать URL-адрес реестра, тег и значение дайджеста image: mcr.microsoft.com/dotnet/sdk:3.1-bullseye # Команды для выполнения в пошаговом сценарии: # Созданные каталоги для артефактов - mkdir -p ${BITBUCKET_CLONE_DIR}/artifacts - mkdir -p ${BITBUCKET_CLONE_DIR}/packages # Сборка проекта dotnet с конфигурацией Release - dotnet build dotnet/HelloWorld.csproj -c Release # Копирование созданных артефактов в каталог артефактов - cp dotnet/bin/Release/netcoreapp3.1/HelloWorld-0.0.1.dll ${BITBUCKET_CLONE_DIR}/packages/HelloWorld.dll # Файлы, созданные на шаге, для совместного использования с артефактами следующего шага: - packages/HelloWorld.dll - step : # Вы можете добавить имя к шагу, чтобы сделать экранные формы и отчеты более удобными для чтения и понимания. name: sign-dotnet-artifacts # Службы, включенные для служб шага: - docker # Команды для выполнения в сценарии шага: # Созданные каталоги для артефактов - mkdir -p ${BITBUCKET_CLONE_DIR}/artifacts - mkdir -p ${BITBUCKET_CLONE_DIR}/ packages # Исправлена проблема с разрешениями dotnet — chmod -R 777 ${BITBUCKET_CLONE_DIR}/packages # Docker Pull CodeSigner Docker Image — docker pull ghcr.io/sslcom/codesigner:latest # Подписать артефакт с помощью CodeSigner docker image — docker run -i —rm --dns 8.8.8.8 --volume ${BITBUCKET_CLONE_DIR}/packages:/codesign/examples --volume ${BITBUCKET_CLONE_DIR}/artifacts:/codesign/output -e ИМЯ ПОЛЬЗОВАТЕЛЯ=${ИМЯ ПОЛЬЗОВАТЕЛЯ} -e ПАРОЛЬ=${ПАРОЛЬ} -e CREDENTIAL_ID=${CREDENTIAL_ID} -e TOTP_SECRET=${TOTP_SECRET} -e ENVIRONMENT_NAME=${ENVIRONMENT_NAME} ghcr.io/sslcom/codesigner:последний знак -input_file_path=/codesign/examples/HelloWorld.dll -output_dir_path=/codesign /вывод
Определить всю информацию о репозитории
Перейдите на вкладку Настройки репозитория.
Под ТРУБОПРОВОДЫ, нажмите Настройки, чтобы включить воронку
Затем, все еще в разделе ТРУБОПРОВОДЫ, нажмите Переменные репозитория.
Поместите имя и значение для каждой переменной репозитория
Отправьте свой код в Bitbucket
На Источник вкладку вашего меню BitBucket, установите URL-адрес вашего репозитория на https
Напишите команду для git удаленное добавление источника и вставьте ссылку https вашего проекта bitbucket, а затем мерзавец команду
Написать git push –u исходная мастер-команда
Обновите Bitbucket, чтобы увидеть код, который вы отправили
Обновите Bitbucket и нажмите кнопку Трубопроводы вкладка Этап сборки и подписи начнется автоматически.
Проверить успешность этапа сборки
Проверьте, прошел ли этап подписи успешно
Пример конвейера BitBucket
Ознакомьтесь с конвейером BitBucket, который мы создали на github.com/SSLcom/codesigner-bitbucket-образецДругие руководства по интеграции удаленной подписи
- Интеграция подписи облачного кода с CircleCI
- Интеграция облачной подписи кода с Jenkins CI
- Интеграция облачной подписи кода с GitHub Actions
- Интеграция облачной подписи кода с GitLab CI
- Интеграция облачной подписи кода с Travis CI
- Интеграция подписи облачного кода с Azure DevOps
- Облачная автоматизация подписи кода с помощью CI/CD Services
Нужны индивидуальные решения?
Благодаря нашим экспертным знаниям и пятизвездочному персоналу службы поддержки мы готовы работать с вами над индивидуальными решениями или над скидками на подписание крупных объемов на уровне предприятия. Заполните форму ниже, и мы свяжемся с вами.