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.
Alur Kerja Contoh Penandatanganan Kode DLL .NET
Buat file yml
Kelompokkan pekerjaan ke dalam tahapan. Semua pekerjaan dalam satu tahap harus diselesaikan sebelum tahap berikutnya dijalankan.
tahapan: - membangun - menandatangani
Tentukan variabel lingkungan secara global. Properti tingkat pekerjaan menggantikan variabel global.
- Variabel lingkungan digunakan untuk membuat sampel lebih mudah dibaca. Pada tangkapan layar di atas contoh alur kerja, PROJECT_NAME, PROJECT_VERSION, dan DOTNET_VERSION secara opsional dihilangkan. Penandatanganan masih dapat dilanjutkan dengan kelalaian ini.
- Di bawah ENVIRONMENT_NAME, tempatkan “TEST” untuk penandatanganan uji, dan “PROD” untuk penandatanganan langsung.
variabel: PROJECT_NAME: "HelloWorld" PROJECT_VERSION: "0.0.1" DOTNET_VERSION: "3.1" ENVIRONMENT_NAME: "PROD"
Tentukan Membangun Tahap

Di bawah ini adalah definisi pekerjaan Anda untuk membangun artefak dll
bangun-dotnet:
- Tentukan pada tahap apa pekerjaan akan dijalankan.
tahap: membangun
- Tempatkan nama lengkap dari gambar yang harus digunakan. Itu harus berisi bagian Registry jika diperlukan.
gambar: mcr.microsoft.com/dotnet/sdk:3.1-bullseye
- Tentukan skrip yang harus dijalankan *sebelum* pekerjaan. Dapat diatur secara global atau per pekerjaan.
before_script: - mkdir -p ${CI_PROJECT_DIR}/artefak - mkdir -p ${CI_PROJECT_DIR}/packages
- Tentukan skrip Shell yang dieksekusi oleh Runner. Bangun artefak DLL
skrip: - dotnet build dotnet/${PROJECT_NAME}.csproj -c Rilis - cp dotnet/bin/Release/netcoreapp${DOTNET_VERSION}/${PROJECT_NAME}-${PROJECT_VERSION}.dll ${CI_PROJECT_DIR}/packages/${ PROJECT_NAME}.dll
- Tentukan daftar file dan direktori yang harus dilampirkan ke pekerjaan jika berhasil.
- 'Thekedaluwarsa_in' properti memungkinkan file untuk dihapus setelah jangka waktu tertentu. Penggunaannya adalah opsional. Inilah sebabnya mengapa tangkapan layar contoh alur kerja di atas tidak menampilkan properti ini.
artefak: jalur: - ${CI_PROJECT_DIR}/packages/HelloWorld.dll expired_in: 5 menit
Tentukan Tahap Tanda
Di bawah ini adalah definisi pekerjaan Anda untuk menandatangani artefak dll
tanda-dotnet-artefak:
- Tentukan pada tahap apa pekerjaan akan dijalankan.
tahap: tanda
- Tempatkan nama lengkap dari gambar yang harus digunakan. Itu harus berisi bagian Registry jika diperlukan.
gambar: buruh pelabuhan: 19.03.0
- Tentukan layanan. Ini mirip dengan properti `image`, tetapi akan menautkan layanan yang ditentukan ke wadah `image`.
layanan: - buruh pelabuhan: 19.03.0-dind
- Tentukan variabel lingkungan untuk pekerjaan tertentu.
- Pada tangkapan layar di atas, perintah tanda didefinisikan langsung dalam skrip tanda dan bukan di bawah variabel lingkungan. Bmetode lain dapat masuk dengan benar dengan TravisCI.
variabel: COMMAND: "tanda"
- Tentukan skrip yang harus dijalankan *sebelum* pekerjaan. Dapat diatur secara global atau per pekerjaan.
before_script: - mkdir -p ${CI_PROJECT_DIR}/artefak - mkdir -p ${CI_PROJECT_DIR}/packages
- Tempatkan skrip Shell yang dieksekusi oleh Runner. Masuk artefak .NET dll dengan CodeSignTool Docker Image
skrip: - docker pull ghcr.io/sslcom/codesigner: terbaru - docker run -i --rm --dns 8.8.8.8 --network host --volume ${CI_PROJECT_DIR}/packages:/codesign/examples --volume $ {CI_PROJECT_DIR}/artefak:/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: terbaru ${COMMAND} -input_file_path=/codesign/examples/${PROJECT_NAME}.dll -output_dir_path=/codesign/output
- Tulis skrip yang dapat digunakan untuk menentukan daftar file dan direktori yang harus dilampirkan ke pekerjaan jika berhasil.
artefak: jalur: - ${CI_PROJECT_DIR}/artifacts/${PROJECT_NAME}.dll expired_in: 1 hari
- Tentukan daftar nama pekerjaan dari tahap sebelumnya dari mana artefak harus dimuat.
dependensi: - build-dotnet
Mulai Tahap Bangun
Buat repositori
Lihat instruksi baris perintah di Gitlab seperti yang terlihat pada tangkapan layar di bawah ini
Dorong folder Anda
Lakukan ini dengan mengklik terminal pada menu, diikuti oleh Terminal Baru.
Ketik skrip push di Terminal Anda untuk mendorong proyek
Klik tombol Bangun
Setelah memicu pipa, lanjutkan untuk membangun
Periksa apakah build berhasil
Memulai Tahap Tanda
Lanjutkan untuk menandatangani artefak
Konfirmasikan jika penandatanganan kode berhasil
Anda sekarang dapat mengunduh file yang ditandatangani
Contoh Pipeline Gitlab CI
Lihat contoh pipeline Gitlab CI yang telah kami buat github.com/SSLcom/codesigner-gitlabci-samplePanduan Integrasi Penandatanganan Jarak Jauh CI/CD lainnya
- Integrasi Penandatanganan Kode Cloud dengan CircleCI
- Integrasi Penandatanganan Kode Cloud dengan Tindakan GitHub
- Integrasi Penandatanganan Kode Cloud dengan Jenkins CI
- Integrasi Penandatanganan Kode Cloud dengan Travis CI
- Integrasi Penandatanganan Kode Cloud dengan Azure DevOps
- 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.