Ini adalah panduan tentang bagaimana Azure DevOps dapat diintegrasikan dengan eSigner CodeSignTool untuk melakukan penandatanganan kode otomatis.
CodeSignTool adalah utilitas baris perintah yang cocok untuk proses penandatanganan kode cloud dan terintegrasi secara mulus dengan berbagai platform CI/CD. Ini merupakan bagian dari eSigner: layanan penandatanganan jarak jauh kami yang menawarkan pendekatan penandatanganan kode yang efisien, aman, dan ramah pengguna.
Variabel Lingkungan
- USERNAME: Nama pengguna akun SSL.com. (Yg dibutuhkan)
- PASSWORD: Kata sandi akun SSL.com (Diperlukan)
- CREDENTIAL_ID: ID Kredensial untuk menandatangani sertifikat. Jika credential_id dihilangkan dan pengguna hanya memiliki satu sertifikat penandatanganan kode eSigner, CodeSignTool akan menjadi default untuk itu. Jika pengguna memiliki lebih dari satu sertifikat penandatanganan kode, parameter ini wajib. (Yg dibutuhkan)
- TOTP_RAHASIA: Rahasia TOTP OAuth. Anda dapat mengakses informasi rinci di https://www.ssl.com/how-to/automate-esigner-ev-code-signing (Wajib Isi)
- LINGKUNGAN_NAME : Lingkungan 'TEST' atau 'PROD'. (Yg dibutuhkan)
Masukan
- input_file_path: Jalur objek kode yang akan ditandatangani. (Yg dibutuhkan)
- keluaran_dir_path: Direktori tempat objek kode bertanda akan ditulis. Jika output_path dihilangkan, file yang ditentukan dalam -file_path akan ditimpa dengan file yang ditandatangani.
Buat proyek di visualstudio.com
Buat file .yml baru di editor kode Anda
Setel pemicu integrasi dan variabel lingkungan
Pemicu integrasi berkelanjutan
pelatuk:
- tidak ada
Mendefinisikan variabel lingkungan secara global. Properti tingkat pekerjaan menggantikan variabel global
variabel:
buildConfiguration: 'Rilis'
Kelompokkan pekerjaan ke dalam tahapan
Tuliskan langkah-langkah untuk tahap pembuatan. Semua pekerjaan dalam satu tahap harus diselesaikan sebelum tahap berikutnya dijalankan.
tahapan:
– tahap: membangun
# Saat alur kerja berjalan, ini adalah nama yang dicatat
nama tampilan: Build
pekerjaan:
- pekerjaan:
kolam:
Jalankan pekerjaan di VM Windows
vmImage: 'windows-terbaru'
Langkah:
Instal Dotnet 6.0.x
– tugas: UseDotNet@2
displayName: 'Instal .NET Core SDK'
masukan:
versi: '6.0.x'
performMultiLevelLookup: benar
includePreviewVersions: benar
Pulihkan proyek Dotnet
– tugas: DotNetCoreCLI@2
nama tampilan: Pulihkan
masukan:
perintah: 'kembalikan'
Bangun proyek dotnet dengan konfigurasi Rilis
– tugas: DotNetCoreCLI@2
nama tampilan: Build
masukan:
perintah: membangun
proyek: HelloWorld.csproj
argumen: '–configuration $(buildConfiguration)'
Buat direktori untuk artefak yang ditandatangani
– powershell: New-Item -ItemType Directory -Path ./artefak
displayName: 'Direktori yang dibuat untuk artefak'
Buat direktori untuk paket yang ditandatangani
– powershell: Item Baru -Direktori Tipe Item -Path ./packages
displayName: 'Direktori yang dibuat untuk paket'
Salin artefak untuk menjadi jalur penandatanganan
– powershell: Copy-Item ./bin/Release/netcoreapp3.1/HelloWorld-0.0.1.dll -Tujuan ./packages/HelloWorld.dll
displayName: "Salin artefak yang dibuat ke direktori paket"
Simpan artefak untuk menggunakan pekerjaan penandatanganan
– tugas: PublishBuildArtifacts@1
displayName: 'Simpan untuk ditandatangani artefak untuk diunduh'
masukan:
pathtoPublish: ./packages/HelloWorld.dll
nama artefak: HelloWorld.dll
Tuliskan langkah-langkah untuk tahap Sign
– panggung: Tanda
# Saat alur kerja berjalan, ini adalah nama yang dicatat
nama tampilan: Tanda
pekerjaan:
- pekerjaan:
kolam:
Jalankan pekerjaan di VM Ubuntu
vmImage: "Ubuntu-terbaru"
Langkah:
Buat direktori untuk artefak yang ditandatangani
– skrip: mkdir -p ./artifacts && mkdir -p ./packages
displayName: "Direktori yang dibuat untuk artefak dan paket"
Unduh artefak yang akan ditandatangani
– tugas: UnduhPipelineArtifact@2
masukan:
artefak: HelloWorld.dll
jalur unduhan: ./packages
Instal Docker 17.09.0-ce
– tugas: DockerInstaller@0
nama tampilan: Pemasang Docker
masukan:
versi buruh pelabuhan: 17.09.0-ce
tipe rilis: stabil
Docker Tarik KodeSigner Gambar Docker
– skrip: docker pull ghcr.io/sslcom/codesigner: terbaru
displayName: 'Docker Tarik CodeSigner Gambar Docker'
Tanda tangani artefak dengan gambar buruh pelabuhan CodeSigner
– skrip: docker run -i –rm –dns 8.8.8.8 –host jaringan –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: tanda terbaru -input_file_path=/codesign/examples/HelloWorld.dll
-output_dir_path=/codesign/output
displayName: 'Tanda tangani artefak dengan gambar buruh pelabuhan CodeSigner'
Simpan artefak yang ditandatangani untuk diunduh
– tugas: PublishBuildArtifacts@1
displayName: 'Simpan artefak yang ditandatangani untuk diunduh'
masukan:
pathtoPublish: ./artefak/HelloWorld.dll
nama artefak: HelloWorld.dll
Buat file .gitignore baru
Ketik:
bin
obj
.vscode
Pada bilah pesan, ketik Created pipeline.yml dan klik tombol Melakukan tombol
Lanjutkan dengan mengklik Sinkronkan Perubahan tombol
Lanjutkan ke visualstudio.com dan klik Beristirahat di dasbor
Segarkan halaman untuk melihat file yml
Klik Jaringan pipa di dasbor
Selanjutnya, klik Buat Pipa
Klik Azure Repos Git
Pilih file YAML Anda
Klik Variabel tombol diikuti Variabel baru
Tempatkan nilai untuk setiap variabel lingkungan dan klik tombol OK tombol
Klik tanda + untuk terus menambahkan setiap variabel
Setelah menempatkan semua variabel, lanjutkan untuk membuat saluran Anda
Jalankan saluran Anda
Klik Jaringan pipa di dasbor. Klik tiga titik (opsi lainnya) di saluran Anda. Klik Jalankan pipa. Terakhir, klik Run .
Klik Bangun untuk memulai tahap pembuatan
Periksa apakah setiap pekerjaan dalam tahap pembuatan berhasil
Klik panah tarik-turun di samping Pekerjaan untuk melihat status setiap pekerjaan build
Mulai tahap Masuk dengan mengklik Pekerjaan
Periksa apakah setiap langkah dalam proses penandatanganan berhasil
Periksa kembali apakah tahap pembuatan dan penandatanganan berhasil
Contoh Pipeline Azure DevOps
Lihat contoh pipeline Azure DevOps yang telah kami buat github.com/SSLcom/codesigner-azuredevops-samplePanduan Integrasi Penandatanganan Jarak Jauh Lainnya
- Integrasi Penandatanganan Kode Cloud dengan CircleCI
- Integrasi Penandatanganan Kode Cloud dengan Tindakan GitHub
- Integrasi Penandatanganan Kode Cloud dengan GitLab CI
- Integrasi Penandatanganan Kode Cloud dengan Travis CI
- Integrasi Penandatanganan Kode Cloud dengan Jenkins CI
- Integrasi Penandatanganan Kode Cloud dengan BitBucket
- Otomatisasi Penandatanganan Kode Cloud dengan Layanan CI/CD
Butuh Solusi Kustom?
Dengan pengetahuan ahli kami dan staf pendukung bintang lima, kami siap dan bersedia bekerja sama dengan Anda dalam solusi khusus atau diskon penandatanganan volume tinggi tingkat perusahaan. Isi formulir di bawah ini dan kami akan menghubungi Anda.