Ръководство за интегриране на подписване в облак на Azure DevOps

Това е ръководство за това как Azure DevOps може да се интегрира с eSigner CodeSignTool за извършване на автоматизирано подписване на код.

CodeSignTool е помощна програма за команден ред, която е подходяща за процеси на подписване на облачен код и безпроблемно се интегрира с различни CI/CD платформи. Той е част от eSigner: нашата услуга за дистанционно подписване, която предлага ефективен, сигурен и удобен за потребителя подход за подписване на код.

SSL.com EV Подписване на код сертификатите помагат за защитата на вашия код от неоторизирано подправяне и компрометиране с най-високо ниво на валидиране и са достъпни само за малко $ 249 годишно. Можете също така да използвайте вашия EV сертификат за подписване на код в мащаб в облака с помощта на 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 и щракнете върху Поемане на ангажимент бутон

SSL.com EV Подписване на код сертификатите помагат за защитата на вашия код от неоторизирано подправяне и компрометиране с най-високо ниво на валидиране и са достъпни само за малко $ 249 годишно. Можете също така да използвайте вашия EV сертификат за подписване на код в мащаб в облака с помощта на eSigner.

ПОРЪЧАЙ СЕГА

Продължете да щракнете върху Синхронизиране на промените бутон

Продължете към visualstudio.com и щракнете Почивка на таблото

Обновете страницата, за да видите yml файла

Кликнете Тръбопроводи на таблото

След това кликнете върху Създайте тръбопровод

Щракнете върху Azure Repos Git

Изберете вашия YAML файл

Кликнете Променливи бутон, последван от Нова променлива

Поставете стойността за всяка променлива на средата и щракнете върху OK бутон

Щракнете върху знака +, за да продължите да добавяте всяка променлива

След като поставите всички променливи, продължете да създавате своя конвейер

Пуснете тръбопровода си

Кликнете Тръбопроводи на таблото. Щракнете върху трите точки (още опции) на вашия тръбопровод. Кликнете Пуснете тръбопровод. Накрая щракнете върху бягане бутон.

Щракнете върху Изграждане, за да започнете етапа на изграждане

Проверете дали всяка задача в етапа на изграждане е успешна

Щракнете върху падащата стрелка до Работа за да видите състоянието на всяко задание за изграждане

Започнете етапа на подписване, като щракнете Работа

Проверете дали всяка стъпка в процеса на подписване е успешна

Проверете отново дали етапите на изграждане и подписване са успешни

Можете да се обърнете към SSL.com Github хранилище, което съдържа изходните кодове на докер изображението и описва как да го използвате: https://github.com/SSLcom/ci-images 

Примерен конвейер на Azure DevOps

Вижте примерния конвейер на Azure DevOps, върху който сме създали github.com/SSLcom/codesigner-azuredevops-sample

Други ръководства за интегриране на отдалечено подписване

Нуждаете се от персонализирани решения? 

С нашите експертни познания и петзвезден екип за поддръжка, ние сме готови и желаем да работим с вас по персонализирани решения или отстъпки за подписване на голям обем на ниво предприятие. Попълнете формата по-долу и ние ще се свържем с вас.

Twitter
Facebook
LinkedIn
Reddit
Имейл

Бъдете информирани и защитени

SSL.com е глобален лидер в киберсигурността, PKI и цифрови сертификати. Регистрирайте се, за да получавате най-новите новини от индустрията, съвети и съобщения за продукти от SSL.com.

Ще се радваме на вашите отзиви

Попълнете нашата анкета и ни кажете какво мислите за скорошната си покупка.