Променливи на околната среда
- USERNAME: потребителско име на SSL.com акаунт. (задължително)
- ПАРОЛА: парола за акаунт в SSL.com (задължително)
- CREDENTIAL_ID: Идентификационен номер за подписване на сертификат. Ако credential_id е пропуснат и потребителят има само един сертификат за подписване на код на eSigner, CodeSignTool ще го използва по подразбиране. Ако потребителят има повече от един сертификат за подписване на код, този параметър е задължителен. (задължително)
- TOTP_SECRET: OAuth TOTP Secret. Можете да получите достъп до подробна информация за https://www.ssl.com/how-to/automate-esigner-ev-code-signing (Задължително)
- ENVIRONMENT_NAME : среда „TEST“ или „PROD“. (задължително)
Входове
- входен_път_файл: Път на кодов обект, който трябва да бъде подписан. (задължително)
- път_изходна_директория: Директория, където ще бъдат записани обекти с подписан код. Ако output_path е пропуснат, файлът, указан в -file_path, ще бъде презаписан с подписания файл.
Java Code (Maven) Примерен работен процес за подписване на JAR
Създайте проект
Под проекта създайте файл за Travis
Определете компонентите на работния процес
- Поставете CPU архитектурата, върху която да стартирате заданието
арка: amd64
- Език по подразбиране за провеждане на тестове
език: java
- Посочете операционната система, на която да се изпълнява задачата
os: linux
- Напишете дистрибуцията на Ubuntu, която ще се използва
dist: бионичен
- Дефинирайте променливите на средата глобално. Свойството на ниво работа отменя глобалните променливи.
- Обърнете внимание, че TERM=dumb е необходим само за екземпляри на проект Gradle.
- Под ENVIRONMENT_NAME поставете „TEST“ за тестово подписване и „PROD“ за подписване на живо.
околна среда:
глобален:
– PROJECT_NAME=”HelloWorld”
– PROJECT_VERSION=”0.0.1″
– СРОК=тъп
– ENVIRONMENT_NAME=”ТЕСТ”
- Посочете реда на етапите. Всички задачи в един етап трябва да бъдат завършени, преди да се изпълни следващият етап.
етапи:
– изграждане
- знак
Очертайте етапа на изграждане
работни места:
включват:
– етап: изграждане
- Името на работата
име: build-maven
- Дистрибуцията на Ubuntu, която да използвате
dist: бионичен
- Използвайте командата docker за подписване
услуги:
– докер
- Използвайте dotnet-cli за изграждане на проекта
език: java
- Java версия за изграждане на проекта
JDK:
– oraclejdk17
- Кеширайте m2 директория, за да ускорите
кеша:
директории:
– $HOME/.m2
- Напишете скрипта Before, който да стартирате, преди да изградите проекта
преди_скрипт:
# Създаване на директории за артефакти
– mkdir -p ${TRAVIS_BUILD_DIR}/артефакти
– mkdir -p ${TRAVIS_BUILD_DIR}/packages
# Задайте опции за изграждане на Maven
– експорт MAVEN_CLI_OPTS=”–пакетен режим –грешки –fail-at-end –show-version -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-artifacts
пътеки:
# Запазете артефакт, за да използвате задача за подписване
– ${TRAVIS_BUILD_DIR}/packages/${PROJECT_NAME}.jar
Очертайте етапа на знака
– етап: знак
- Напишете името на работата
име: sign-jar-file
- Поставете дистрибуцията на Ubuntu, която да използвате
dist: бионичен
- Използвайте командата Docker за подписване
услуги:
– докер
- Дефинирайте променливи на средата за конкретни задачи.
- На екранната снимка по-горе командата за знак е дефинирана директно в скрипта за знак, а не под променливите на средата. бOTH методи могат да подписват правилно с TravisCI.
околна среда:
COMMAND=”знак”
- Използвайте dotnet-cli за изграждане на проекта
език: java
- Java версия за изграждане на проекта
JDK:
– oraclejdk17
- Скриптът преди да се изпълни преди изграждането на проекта
преди_скрипт:
# Създаване на директории за артефакти
– mkdir -p ${TRAVIS_BUILD_DIR}/артефакти
– mkdir -p ${TRAVIS_BUILD_DIR}/packages
- Скрипт за изграждане на проекта
скрипт:
# Docker Pull CodeSigner Докер изображение
– изтегляне на докер ghcr.io/sslcom/codesigner:последно
# Подпишете артефакт с изображение на CodeSigner Docker
– docker run -i –rm –dns 8.8.8.8 –мрежов хост –том ${TRAVIS_BUILD_DIR}/packages:/codesign/examples
–том ${TRAVIS_BUILD_DIR}/артефакти:/codesign/изход
-e ПОТРЕБИТЕЛСКО ИМЕ=${ПОТРЕБИТЕЛСКО ИМЕ} -e ПАРОЛА=${ПАРОЛА} -e CREDENTIAL_ID=${CREDENTIAL_ID} -e TOTP_SECRET=${TOTP_SECRET}
-e ENVIRONMENT_NAME=${ENVIRONMENT_NAME} ghcr.io/sslcom/codesigner:последните ${COMMAND}
-input_file_path=/codesign/examples/${PROJECT_NAME}.jar -output_dir_path=/codesign/output
- Използва се за указване на списък с файлове и директории, които трябва да бъдат прикачени към заданието, ако то успее.
работни пространства:
използвате:
– maven-jar-артефакти
създавам:
име: подписан-jar-файл
пътеки:
# Запазване на подписан артефакт
– ${TRAVIS_BUILD_DIR}/artifacts/${PROJECT_NAME}.jar
Дефинирайте променливите на средата
Отидете до Travis и щракнете върху Настройки бутон
Добавете стойността за всяка променлива
Превъртете надолу до Променливи на околната среда и щракнете върху бутона Добавяне, за да добавите стойността за всяка променлива
Създайте репо Github
Потърсете push командите в Github
Напишете командите за натискане на терминал на вашия редактор
Изчакайте работата по изграждането да приключи
При Travis заданието за изграждане трябва да започне автоматично, след като сте натиснали кода.
Започнете етапа на подписване на кода
Щракнете върху знак раздел за CodeSignTool за да започнете процеса на подписване
Изчакайте вашата виртуална машина да завърши зареждането
Потвърдете дали подписването на кода е успешно
Примерен тръбопровод Travis CI
Вижте примерния тръбопровод Travis CI, върху който сме създали github.com/SSLcom/codesigner-travisci-sampleДруги ръководства за интегриране на отдалечено подписване на CI/CD услуга
- Интегриране на подписване на облачен код с CircleCI
- Интегриране на подписване на облачен код с GitHub Actions
- Интегриране на подписване на облачен код с GitLab CI
- Интеграция на подписване на облачен код с Jenkins CI
- Интегриране на подписване на облачен код с Azure DevOps
- Интегриране на подписване на облачен код с BitBucket
- Автоматизация на подписването на облачен код с CI/CD услуги
Нуждаете се от персонализирани решения?
С нашите експертни познания и петзвезден екип за поддръжка, ние сме готови и желаем да работим с вас по персонализирани решения или отстъпки за подписване на голям обем на ниво предприятие. Попълнете формата по-долу и ние ще се свържем с вас.