Azure DevOps를 eSigner CodeSignTool과 통합하여 자동화된 코드 서명을 수행하는 방법에 대한 가이드입니다.
CodeSignTool은 클라우드 코드 서명 프로세스에 적합하고 다양한 CI/CD 플랫폼과 원활하게 통합되는 명령줄 유틸리티입니다. eSigner의 일부를 구성합니다. 코드 서명에 대한 효율적이고 안전하며 사용자 친화적인 접근 방식을 제공하는 원격 서명 서비스입니다.
환경 변수
- 사용자 이름: SSL.com 계정 사용자 이름. (필수의)
- PASSWORD: SSL.com 계정 비밀번호(필수)
- CREDENTIAL_ID: 인증서 서명을 위한 자격 증명 ID입니다. credential_id가 생략되고 사용자에게 하나의 eSigner 코드 서명 인증서만 있는 경우 CodeSignTool은 기본적으로 이 인증서를 사용합니다. 사용자에게 둘 이상의 코드 서명 인증서가 있는 경우 이 매개변수는 필수입니다. (필수의)
- TOTP_비밀: OAuth TOTP 비밀. 에 대한 자세한 정보에 액세스할 수 있습니다. https://www.ssl.com/how-to/automate-esigner-ev-code-signing (필수)
- 환경_이름 : 'TEST' 또는 'PROD' 환경. (필수의)
입력
- 입력_파일_경로: 서명할 코드 개체의 경로입니다. (필수의)
- 출력_디렉터_경로: 서명된 코드 개체가 작성될 디렉터리입니다. output_path를 생략하면 -file_path에 지정된 파일을 서명된 파일로 덮어씁니다.
Visualstudio.com에서 프로젝트 만들기
코드 편집기에서 새 .yml 파일 만들기
통합 트리거 및 환경 변수 설정
지속적인 통합 트리거
방아쇠:
– 없음
환경 변수를 전역으로 정의합니다. 작업 수준 속성이 전역 변수를 재정의합니다.
변수:
buildConfiguration: '릴리스'
작업을 단계로 그룹화
빌드 단계의 단계를 작성합니다. 한 단계의 모든 작업은 다음 단계가 실행되기 전에 완료되어야 합니다.
단계:
– 단계: 빌드
# 워크플로가 실행될 때 기록되는 이름입니다.
디스플레이 이름: 빌드
작업:
- 직업:
수영장:
Windows VM에서 작업 실행
vmImage: '최신 창'
단계 :
닷넷 6.0.x 설치
– 작업: UseDotNet@2
displayName: '.NET Core SDK 설치'
입력 :
버전: '6.0.x'
performMultiLevelLookup: 참
includePreviewVersions: 참
Dotnet 프로젝트 복원
– 작업: DotNetCoreCLI@2
displayName: 복원
입력 :
명령: '복원'
릴리스 구성으로 dotnet 프로젝트 빌드
– 작업: DotNetCoreCLI@2
디스플레이 이름: 빌드
입력 :
명령: 빌드
프로젝트: HelloWorld.csproj
인수: '–구성 $(buildConfiguration)'
서명된 아티팩트에 대한 디렉터리 만들기
– powershell: New-Item -ItemType 디렉터리 -Path ./artifacts
displayName: '아티팩트에 대해 생성된 디렉터리'
서명된 패키지에 대한 디렉토리 생성
– powershell: New-Item -ItemType 디렉터리 -Path ./packages
displayName: '패키지용 디렉터리 생성'
서명 경로가 될 아티팩트 복사
– powershell: 항목 복사 ./bin/Release/netcoreapp3.1/HelloWorld-0.0.1.dll -Destination ./packages/HelloWorld.dll
displayName: "빌드된 아티팩트를 패키지 디렉토리에 복사"
서명 작업을 사용하기 위해 아티팩트 저장
– 작업: PublishBuildArtifacts@1
displayName: '다운로드를 위해 서명된 아티팩트에 저장'
입력 :
게시할 경로: ./packages/HelloWorld.dll
아티팩트 이름: HelloWorld.dll
서명 단계의 단계 작성
– 무대: 사인
# 워크플로가 실행될 때 기록되는 이름입니다.
표시 이름: 서명
작업:
- 직업:
수영장:
Ubuntu VM에서 작업 실행
vmImage: “우분투 최신”
단계 :
서명된 아티팩트에 대한 디렉터리 만들기
– 스크립트: mkdir -p ./artifacts && mkdir -p ./packages
displayName: "아티팩트 및 패키지를 위한 생성된 디렉토리"
서명할 아티팩트 다운로드
– 작업: DownloadPipelineArtifact@2
입력 :
아티팩트: HelloWorld.dll
다운로드 경로: ./packages
도커 17.09.0-ce 설치
– 작업: DockerInstaller@0
displayName: 도커 설치 프로그램
입력 :
docker버전: 17.09.0-ce
릴리스 유형: 안정
Docker 풀 CodeSigner Docker 이미지
– 스크립트: docker pull ghcr.io/sslcom/codesigner:latest
displayName: '도커 풀 CodeSigner 도커 이미지'
CodeSigner 도커 이미지로 아티팩트 서명
– 스크립트: docker run -i –rm –dns 8.8.8.8 –네트워크 호스트 –volume $PWD/packages:/codesign/examples –volume $PWD/artifacts:/codesign/output
-e USERNAME=$(USERNAME) -e PASSWORD=$(PASSWORD) -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 단추
각 변수를 계속 추가하려면 + 기호를 클릭하세요.
모든 변수를 배치한 후 파이프라인 생성을 진행합니다.
파이프라인 실행
파이프 라인 대시보드에서. 파이프라인에서 점 XNUMX개(추가 옵션)를 클릭합니다. 딸깍 하는 소리 파이프라인 실행. 마지막으로 달리기 버튼을 클릭합니다.
빌드를 클릭하여 빌드 단계를 시작합니다.
빌드 단계의 각 작업이 성공했는지 확인
옆에 있는 드롭다운 화살표를 클릭합니다. 일 각 빌드 작업의 상태를 보려면
를 클릭하여 서명 단계를 시작합니다. 일
서명 프로세스의 각 단계가 성공적인지 확인
빌드 및 서명 단계가 모두 성공적인지 다시 확인하십시오.
샘플 Azure DevOps 파이프라인
우리가 만든 샘플 Azure DevOps 파이프라인을 확인하세요. github.com/SSLcom/codesigner-azuredevops-sample기타 원격 서명 통합 가이드
- CircleCI와 클라우드 코드 서명 통합
- GitHub 작업과 Cloud Code Signing 통합
- GitLab CI와 클라우드 코드 서명 통합
- Travis CI와 클라우드 코드 서명 통합
- Jenkins CI와 클라우드 코드 서명 통합
- BitBucket과 클라우드 코드 서명 통합
- CI/CD 서비스를 통한 클라우드 코드 서명 자동화
맞춤형 솔루션이 필요하십니까?
우리의 전문 지식과 XNUMX성급 지원 직원을 통해 맞춤형 솔루션 또는 엔터프라이즈 수준의 대량 서명 할인에 대해 귀하와 협력할 준비가 되어 있습니다. 아래 양식을 작성해 주시면 연락드리겠습니다.