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.
Siapkan komponen alur kerja (.NET Kode DLL Penandatanganan)
- Buat folder .circleci
Di ruang kerja penandatanganan kode Anda, buat .folder lingkaran. Di bawahnya, buat file config.yml.
- Setel versi CI
Versi: 2.1
- Panggil pekerjaan melalui alur kerja. Alur kerja mengatur serangkaian pekerjaan yang akan dijalankan. Pekerjaan untuk pipa ini dikonfigurasi di bawah ini
Lihat: https://circleci.com/docs/2.0/configuration-reference/#workflows
alur kerja:
- Tulis nama alur kerja.
titik:
- Di dalam alur kerja, Anda menentukan pekerjaan yang ingin Anda jalankan.
pekerjaan: - membangun - menandatangani: membutuhkan: - membangun
Tentukan Tahap Bangun
- Tentukan pekerjaan yang akan dipanggil nanti dalam alur kerja.
(Lihat: https://circleci.com/docs/2.0/configuration-reference/#jobs)
pekerjaan: membangun:
- Buat variabel lingkungan
- Variabel lingkungan digunakan untuk membuat sampel lebih mudah dibaca. Pada tangkapan layar di atas contoh alur kerja penandatanganan, PROJECT_NAME, PROJECT_VERSION, dan DOTNET_VERSION secara opsional dihilangkan. Penandatanganan masih dapat dilanjutkan bahkan dengan kelalaian ini.
lingkungan: PROJECT_NAME: HelloWorld PROJECT_VERSION: 0.0.1 DOTNET_VERSION: 3.1 RUANG KERJA: /home/circleci/project
- Tentukan eksekutor Docker: (https://circleci.com/docs/2.0/executor-types/)
# Anda dapat menentukan gambar dari Dockerhub atau menggunakan salah satu Gambar Praktis kami dari Pusat Pengembang CircleCI.
buruh pelabuhan: - gambar: mcr.microsoft.com/dotnet/sdk:3.1-bullseye
- Tempatkan direktori kerja untuk pekerjaan itu
direktori_kerja: /home/circleci/project
- Tambahkan langkah ke pekerjaan
Lihat: https://circleci.com/docs/2.0/configuration-reference/#steps
Langkah:
- Periksa kode sumber sehingga alur kerja dapat mengaksesnya.
- Periksa
- Buat Direktori Artefak untuk menyimpan file artefak yang ditandatangani dan tidak ditandatangani
- jalankan: nama: Buat Direktori Artefak perintah: | mkdir -p ${RUANG KERJA}/artefak mkdir -p ${RUANG KERJA}/paket
- Bangun proyek atau solusi dotnet dan semua dependensinya.
- jalankan: nama: Bangun Proyek Dotnet Perintah: dotnet bangun dotnet/${PROJECT_NAME}.csproj -c Rilis
- Salin artefak ke direktori artefak
- Dalam alur kerja contoh penandatanganan tertulis ini, beberapa jenis proyek dibuat. Inilah sebabnya mengapa file dari berbagai jenis proyek disimpan dengan membuat subfolder. Subfolder bernama 'dotnet' dibuat untuk proyek Dotnet. Pada demo screenshot di atas, tidak perlu membuat subfolder bernama 'dotnet' jadi ini tidak termasuk dalam skrip.
- jalankan: nama: Salin perintah Artefak: | cp dotnet/bin/Release/netcoreapp${DOTNET_VERSION}/${PROJECT_NAME}-${PROJECT_VERSION}.dll ${WORKSPACE}/packages/HelloWorld.dll
- Pertahankan artefak ke direktori artefak untuk ditandatangani
- persistent_to_workspace: root: . jalur: - paket/*
Tentukan Tahap Penandatanganan
- Tentukan pekerjaan penandatanganan
tanda:
- Buat variabel lingkungan
- 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 CircleCI.
- Variabel lingkungan digunakan untuk membuat sampel lebih mudah dibaca. Pada tangkapan layar di atas contoh alur kerja, beberapa variabel secara opsional tidak disertakan. Penandatanganan masih dapat dilanjutkan bahkan dengan kelalaian ini.
lingkungan: ENVIRONMENT_NAME: PERINTAH PROD: tanda KERJA: /home/circleci/proyek
- Tempatkan direktori kerja untuk pekerjaan di Circle-CI
direktori_kerja: /home/circleci/project
- Nama artefak untuk ditandatangani
- Nilai 'artifact-name' adalah opsi untuk beberapa proyek Parameter 'artefak-name' ditambahkan sehingga bagian penandatanganan yang sama dapat digunakan untuk semua jenis proyek. Karena contoh di tangkapan layar didasarkan pada satu proyek, tidak perlu menyertakannya.
parameter: nama-artefak: tipe: string default: ''
- Tentukan pelaksana buruh pelabuhan:
Untuk referensi tambahan, lihat: https://circleci.com/docs/2.0/executor-types/
Anda dapat menentukan gambar dari Dockerhub atau menggunakan salah satu Gambar Praktis kami dari Pusat Pengembang CircleCI.
Pastikan untuk memperbarui tag gambar Docker di bawah ini ke versi openjdk aplikasi Anda.
Daftar Gambar Nyaman CircleCI Docker tersedia di sini: https://circleci.com/developer/images/image/cimg/openjdk
buruh pelabuhan: - gambar: cimg/openjdk:17.0.3
- Tambahkan langkah ke pekerjaan
Untuk referensi tambahan, lihat: https://circleci.com/docs/2.0/configuration-reference/#steps
Langkah:
- Buat Direktori Artefak untuk menyimpan file artefak yang ditandatangani dan tidak ditandatangani
- jalankan: nama: Buat Direktori Artefak perintah: | mkdir -p ${RUANG KERJA}/artefak mkdir -p ${RUANG KERJA}/paket
- Lampirkan ke Workspace untuk mengakses file artefak
- attach_workspace: di: /home/circleci/project
- Aktifkan Docker untuk CodeSigner di Circle-CI
- setup_remote_docker: nama: Atur versi Docker Jarak Jauh: 19.03.13 docker_layer_caching: true
- Tarik Gambar Codesigner Docker Dari Github Registry
- jalankan: nama: perintah Docker Pull Image: | docker pull ghcr.io/sslcom/codesigner:terbaru docker pull alpine:3.4
- Tulis langkah di mana artefak akan ditandatangani dengan CodeSignTool.
- jalankan: nama: Tandatangani File Artefak perintah: | docker create -v /codesign/packages --nama codesign-in alpine:3.4 /bin/true docker create -v /codesign/artifacts --nama codesign-out alpine:3.4 /bin/true docker cp ${WORKSPACE}/packages /<< parameter.artifact-name >> codesign-in:/codesign/packages docker run -i --rm --dns 8.8.8.8 --network host --volumes-from codesign-in --volumes-from codesign- keluar -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:latest ${COMMAND} -input_file_path=/codesign/packages/<< parameter.artifact-name >> -output_dir_path=/codesign/artefak buruh pelabuhan cp codesign-out:/codesign/artifacts/<< parameter.artifact-name >> ${ WORKSPACE}/artefak/<< parameter.nama-artefak >>
- Tulis langkah agar artefak Anda diunggah dari alur kerja Anda memungkinkan Anda untuk berbagi data antara pekerjaan dan menyimpan data setelah alur kerja selesai
- store_artifacts: name: Upload Signed Files path: /home/circleci/project/artifacts/<< parameter.artifact-name >> tujuan: << parameter.artifact-name >>
Buat repositori baru di baris perintah
Salin komponen perintah push dari lokasi proyek Anda di akun GitHub Anda
Sertakan semua komponen perintah push pada editor Anda
Siapkan proyek di CircleCI menggunakan repositori yang terintegrasi ke GitHub
Tentukan semua Variabel Lingkungan
Saat proyek sedang berjalan, Klik tombol Pengaturan Proyek diikuti oleh Variabel Lingkungan untuk menentukan variabel
Tempatkan nilai untuk setiap variabel
klik Tambahkan Variabel Lingkungan tombol untuk menambahkan nama dan nilai semua variabel yang diperlukan untuk proyek.
Tunggu proyek dibangun
Klik Bertahan ke ruang kerja
Tunggu sebentar hingga arsip ruang kerja berhasil diunggah.
Klik tombol tanda
Tunggu hingga Docker Jarak Jauh diatur
Mungkin butuh lebih dari satu menit, tergantung pada ukuran file
Tunggu artefak ditandatangani
Klik Artefak tab
Jika Anda klik Artefak, Anda akan dapat melihat file yang telah berhasil Anda tandatangani kode. Anda juga akan diberi tahu oleh CircleCI tentang penandatanganan kode yang berhasil.
Contoh Pipa CircleCI
Lihat contoh pipeline CircleCI yang telah kami buat github.com/SSLcom/codesigner-circleci-samplePanduan Integrasi Penandatanganan Jarak Jauh CI/CD lainnya
- Integrasi Penandatanganan Kode Cloud dengan Tindakan GitHub
- Integrasi Penandatanganan Kode Cloud dengan GitLab CI
- 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.