Переменные среды
- 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, будет перезаписан подписанным файлом.
Код Java (Maven) Пример рабочего процесса подписания JAR
Создать проект
Под проект создайте файл для Трэвиса
Определение компонентов рабочего процесса
- Поместите архитектуру ЦП для запуска задания.
арка: amd64
- Язык по умолчанию для запуска тестов
язык: джава
- Укажите операционную систему для запуска задания
ОС: линукс
- Напишите дистрибутив Ubuntu, который будет использоваться
расстояние: бионический
- Определяйте переменные среды глобально. Свойство уровня задания переопределяет глобальные переменные.
- Обратите внимание, что TERM=dumb требуется только для экземпляров проекта Gradle.
- В разделе ENVIRONMENT_NAME поместите «TEST» для тестовой подписи и «PROD» для динамической подписи.
среда:
Глобальный:
– PROJECT_NAME="HelloWorld"
– PROJECT_VERSION = ”0.0.1″
- ТЕРМИН = тупой
– ИМЯ_ОКРУЖАЮЩЕЙ СРЕДЫ = «ТЕСТ»
- Укажите порядок этапов. Все работы на одном этапе должны быть завершены до выполнения следующего этапа.
этапы:
- строить
- знак
Обрисовать этап сборки
вакансии:
следующие:
– этап: сборка
- Название работы
имя: build-maven
- Дистрибутив Ubuntu для использования
расстояние: бионический
- Используйте команду docker для подписи
услуги:
- докер
- Используйте dotnet-cli для сборки проекта
язык: джава
- Java-версия для сборки проекта
JDK:
- ораклейдк17
- Кэш каталога m2 для ускорения
Кэш:
каталоги:
– $ ДОМ/.м2
- Напишите сценарий «До» для запуска перед сборкой проекта.
до_скрипта:
# Создаем каталоги для артефактов
– mkdir -p ${TRAVIS_BUILD_DIR}/артефакты
– mkdir -p ${TRAVIS_BUILD_DIR}/пакеты
# Установить параметры сборки Maven
– экспорт MAVEN_CLI_OPTS=”–пакетный режим –ошибки –сбой в конце –показать версию –DinstallAtEnd=true –DdeployAtEnd=true”
- Напишите скрипт для сборки проекта.
- В этом примере рабочего процесса подписания было создано несколько типов проектов. Вот почему файлы разных типов проектов хранились путем создания подпапок. Подпапка с именем «java» была создана для проектов Java. На демонстрационном снимке экрана выше не было необходимости создавать подпапку с именем «java», поэтому она не была включена в сценарий.
сценарий:
# Собрать проект Maven с параметрами Maven
– mvn $MAVEN_CLI_OPTS чистая установка -f java/pom.xml
# Копируем созданные артефакты в каталог артефактов
– cp java/target/${PROJECT_NAME}-${PROJECT_VERSION}.jar ${TRAVIS_BUILD_DIR}/packages/${PROJECT_NAME}.jar
- Объясните, как указать список файлов и каталогов, которые должны быть присоединены к заданию в случае его успешного выполнения.
рабочие области:
Создайте:
имя: maven-jar-артефакты
пути:
# Сохраните артефакт, чтобы использовать задание подписи
– ${TRAVIS_BUILD_DIR}/packages/${PROJECT_NAME}.jar
Очертите этап знака
– этап: знак
- Напишите название работы
имя: знак-jar-файл
- Поместите дистрибутив Ubuntu для использования
расстояние: бионический
- Используйте команду Docker для подписи
услуги:
- докер
- Определите переменные среды для конкретных заданий.
- На скриншоте выше команда sign была определена непосредственно в скрипте sign, а не в переменных среды. Бдр методы могут корректно подписываться с помощью TravisCI.
среда:
КОМАНДА = «знак»
- Используйте dotnet-cli для сборки проекта
язык: джава
- Java-версия для сборки проекта
JDK:
- ораклейдк17
- Перед запуском скрипта перед сборкой проекта
до_скрипта:
# Создаем каталоги для артефактов
– mkdir -p ${TRAVIS_BUILD_DIR}/артефакты
– mkdir -p ${TRAVIS_BUILD_DIR}/пакеты
- Скрипт для сборки проекта
сценарий:
# Docker Pull CodeSigner Образ Docker
— docker pull ghcr.io/sslcom/codesigner:latest
# Подписать артефакт с помощью образа CodeSigner Docker
– docker run -i –rm –dns 8.8.8.8 –сетевой хост –volume ${TRAVIS_BUILD_DIR}/packages:/codesign/examples
– том ${TRAVIS_BUILD_DIR}/артефакты:/кодовый дизайн/выход
-e ИМЯ ПОЛЬЗОВАТЕЛЯ=${ИМЯ ПОЛЬЗОВАТЕЛЯ} -e ПАРОЛЬ=${ПАРОЛЬ} -e CREDENTIAL_ID=${CREDENTIAL_ID} -e TOTP_SECRET=${TOTP_SECRET}
-e ENVIRONMENT_NAME=${ENVIRONMENT_NAME} ghcr.io/sslcom/codesigner:latest ${COMMAND}
-input_file_path=/codesign/examples/${PROJECT_NAME}.jar -output_dir_path=/codesign/output
- Используется для указания списка файлов и каталогов, которые должны быть присоединены к заданию в случае его успешного выполнения.
рабочие области:
использование:
- maven-jar-артефакты
Создайте:
имя: подписанный jar-файл
пути:
# Сохранить подписанный артефакт
– ${TRAVIS_BUILD_DIR}/artifacts/${PROJECT_NAME}.jar
Определите переменные среды
Перейдите к Трэвису и нажмите кнопку Настройки кнопка
Добавьте значение для каждой переменной
Прокрутите вниз до Переменные среды и нажмите кнопку «Добавить», чтобы добавить значение для каждой переменной.
Создайте репозиторий на Github
Ищите push-команды на Github.
Напишите push-команды на терминале в вашем редакторе.
Дождитесь завершения задания сборки
В Travis задание сборки должно запускаться автоматически после того, как вы нажали код.
Начать этап подписания кода
Нажмите подпись раздел для CodeSignTool чтобы начать процесс подписания
Подождите, пока ваша виртуальная машина завершит загрузку.
Подтвердите, успешно ли подписан код
Пример конвейера Travis CI
Ознакомьтесь с образцом пайплайна Travis CI, который мы создали на github.com/SSLcom/codesigner-travisci-образецДругие руководства по интеграции службы удаленной подписи CI/CD
- Интеграция подписи облачного кода с CircleCI
- Интеграция облачной подписи кода с GitHub Actions
- Интеграция облачной подписи кода с GitLab CI
- Интеграция облачной подписи кода с Jenkins CI
- Интеграция подписи облачного кода с Azure DevOps
- Интеграция подписи облачного кода с BitBucket
- Облачная автоматизация подписи кода с помощью CI/CD Services
Нужны индивидуальные решения?
Благодаря нашим экспертным знаниям и пятизвездочному персоналу службы поддержки мы готовы работать с вами над индивидуальными решениями или над скидками на подписание крупных объемов на уровне предприятия. Заполните форму ниже, и мы свяжемся с вами.