Това е ръководство за това как Azure DevOps може да се интегрира с eSigner CodeSignTool за извършване на автоматизирано подписване на код.
CodeSignTool е помощна програма за команден ред, която е подходяща за процеси на подписване на облачен код и безпроблемно се интегрира с различни CI/CD платформи. Той е част от eSigner: нашата услуга за дистанционно подписване, която предлага ефективен, сигурен и удобен за потребителя подход за подписване на код.
Променливи на околната среда
- 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, ще бъде презаписан с подписания файл.
Създайте проект на visualstudio.com
Създайте нов .yml файл във вашия редактор на код
Задайте тригери за интегриране и променливи на средата
Задейства непрекъсната интеграция
спусък:
- нито един
Дефинира променливите на средата глобално. Свойството на ниво работа отменя глобалните променливи
променливи:
buildConfiguration: 'Издаване'
Групирайте работните места на етапи
Напишете стъпките за етапа на изграждане. Всички задачи в един етап трябва да бъдат завършени преди изпълнението на следващия етап.
етапи:
– етап: изграждане
# Когато работният поток се изпълнява, това е името, което се регистрира
displayName: Изграждане
работни места:
– работа:
басейн:
Изпълнете задание на Windows VM
vmImage: 'windows-latest'
стъпки:
Инсталирайте Dotnet 6.0.x
– задача: UseDotNet@2
displayName: 'Инсталиране на .NET Core SDK'
входове:
версия: '6.0.x'
performMultiLevelLookup: вярно
includePreviewVersions: вярно
Възстановете проекта Dotnet
– задача: DotNetCoreCLI@2
displayName: Възстановяване
входове:
команда: 'възстановяване'
Изградете dotnet проект с конфигурация Release
– задача: DotNetCoreCLI@2
displayName: Изграждане
входове:
команда: изграждане
проекти: HelloWorld.csproj
аргументи: '–конфигурация $(buildConfiguration)'
Създайте директории за подписани артефакти
– powershell: New-Item -ItemType Directory -Path ./artifacts
displayName: 'Създадени директории за артефакти'
Създайте директории за подписани пакети
– powershell: New-Item -ItemType Directory -Path ./packages
displayName: 'Създадени директории за пакети'
Копирайте артефакта, за да бъде подписващ път
– powershell: Copy-Item ./bin/Release/netcoreapp3.1/HelloWorld-0.0.1.dll -Destination ./packages/HelloWorld.dll
displayName: „Копиране на изградените артефакти в директорията на пакетите“
Запазете артефакта, за да използвате задачата за подписване
– задача: PublishBuildArtifacts@1
displayName: 'Запазване, за да бъде подписан артефакт за изтегляне'
входове:
път за публикуване: ./packages/HelloWorld.dll
име на артефакт: HelloWorld.dll
Напишете стъпките за етапа на знак
– етап: Знак
# Когато работният поток се изпълнява, това е името, което се регистрира
displayName: Знак
работни места:
– работа:
басейн:
Изпълнете задание на Ubuntu VM
vmImage: „Ubuntu-най-новото“
стъпки:
Създайте директории за подписани артефакти
– скрипт: mkdir -p ./artifacts && mkdir -p ./packages
displayName: „Създадени директории за артефакти и пакети“
Изтеглете артефакта, който да подпишете
– задача: DownloadPipelineArtifact@2
входове:
артефакт: HelloWorld.dll
Път за изтегляне: ./packages
Инсталирайте Docker 17.09.0-ce
– задача: DockerInstaller@0
displayName: инсталатор на Docker
входове:
docker Версия: 17.09.0-ce
releaseType: стабилен
Docker Pull CodeSigner Изображение на Docker
– скрипт: докер издърпайте ghcr.io/sslcom/codesigner:последно
displayName: 'Docker Pull CodeSigner Docker Image'
Подпишете артефакт с докер изображение на CodeSigner
– скрипт: docker run -i –rm –dns 8.8.8.8 –мрежов хост –том $PWD/packages:/codesign/examples –том $PWD/артефакти:/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/изход
displayName: 'Подпишете артефакт с изображение на докер на CodeSigner'
Запазете подписания артефакт за изтегляне
– задача: PublishBuildArtifacts@1
displayName: 'Запазване на подписан артефакт за изтегляне'
входове:
път за публикуване: ./artifacts/HelloWorld.dll
име на артефакт: HelloWorld.dll
Създайте нов файл .gitignore
Напишете в:
кофа за боклук
OBJ
.vscode
В лентата за съобщения въведете Created pipeline.yml и щракнете върху Поемане на ангажимент бутон
Продължете да щракнете върху Синхронизиране на промените бутон
Продължете към visualstudio.com и щракнете Почивка на таблото
Обновете страницата, за да видите yml файла
Кликнете Тръбопроводи на таблото
След това кликнете върху Създайте тръбопровод
Щракнете върху Azure Repos Git
Изберете вашия YAML файл
Кликнете Променливи бутон, последван от Нова променлива
Поставете стойността за всяка променлива на средата и щракнете върху OK бутон
Щракнете върху знака +, за да продължите да добавяте всяка променлива
След като поставите всички променливи, продължете да създавате своя конвейер
Пуснете тръбопровода си
Кликнете Тръбопроводи на таблото. Щракнете върху трите точки (още опции) на вашия тръбопровод. Кликнете Пуснете тръбопровод. Накрая щракнете върху бягане бутон.
Щракнете върху Изграждане, за да започнете етапа на изграждане
Проверете дали всяка задача в етапа на изграждане е успешна
Щракнете върху падащата стрелка до Работа за да видите състоянието на всяко задание за изграждане
Започнете етапа на подписване, като щракнете Работа
Проверете дали всяка стъпка в процеса на подписване е успешна
Проверете отново дали етапите на изграждане и подписване са успешни
Примерен конвейер на Azure DevOps
Вижте примерния конвейер на Azure DevOps, върху който сме създали github.com/SSLcom/codesigner-azuredevops-sampleДруги ръководства за интегриране на отдалечено подписване
- Интегриране на подписване на облачен код с CircleCI
- Интегриране на подписване на облачен код с GitHub Actions
- Интегриране на подписване на облачен код с GitLab CI
- Интегриране на подписване на облачен код с Travis CI
- Интеграция на подписване на облачен код с Jenkins CI
- Интегриране на подписване на облачен код с BitBucket
- Автоматизация на подписването на облачен код с CI/CD услуги
Нуждаете се от персонализирани решения?
С нашите експертни познания и петзвезден екип за поддръжка, ние сме готови и желаем да работим с вас по персонализирани решения или отстъпки за подписване на голям обем на ниво предприятие. Попълнете формата по-долу и ние ще се свържем с вас.