SSL.com

Integrasi Penandatanganan Kode Cloud dengan CircleCI

Tutorial ini menunjukkan bagaimana eSigner terintegrasi dengan CircleCI untuk penandatanganan kode otomatis. eSigner adalah lingkungan cloud SSL.com untuk penandatanganan kode. Kunci dan sertifikat penandatanganan dihosting dengan aman di cloud oleh SSL.com dan dapat diakses untuk penandatanganan dari perangkat apa pun yang terhubung ke internet, sehingga menjadikan eSigner salah satu platform terbaik untuk penandatanganan kode perusahaan. Toolkit eSigner mencakup CodeSignTool yang merupakan utilitas baris perintah untuk Penandatanganan kode EV sertifikat dan sangat ideal untuk membuat proses penandatanganan otomatis di berbagai platform Continuous Integration/Continuous Delivery (CI/CD) termasuk CircleCI. 

SSL.com EV Penandatanganan Kode sertifikat membantu melindungi kode Anda dari gangguan dan kompromi yang tidak sah dengan tingkat validasi tertinggi, dan tersedia hanya untuk $ 249 per tahun. Anda juga bisa gunakan sertifikat Penandatanganan Kode EV Anda dalam skala besar di cloud menggunakan eSigner.

PESAN SEKARANG

Variabel Lingkungan

Masukan

Siapkan komponen alur kerja (.NET Kode DLL Penandatanganan)

  1. Buat folder .circleci

Di ruang kerja penandatanganan kode Anda, buat .folder lingkaran. Di bawahnya, buat file config.yml.

  1. Setel versi CI
Versi: 2.1
 
  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:
 
  1. Tulis nama alur kerja.
  titik:
 
  1. Di dalam alur kerja, Anda menentukan pekerjaan yang ingin Anda jalankan.
 pekerjaan: - membangun - menandatangani: membutuhkan: - membangun
 

Tentukan Tahap Bangun

  1. Tentukan pekerjaan yang akan dipanggil nanti dalam alur kerja.

 (Lihat: https://circleci.com/docs/2.0/configuration-reference/#jobs)

pekerjaan: membangun:

 

  1. Buat variabel lingkungan
  lingkungan: PROJECT_NAME: HelloWorld PROJECT_VERSION: 0.0.1 DOTNET_VERSION: 3.1 RUANG KERJA: /home/circleci/project

 

  1.  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

 

  1. Tempatkan direktori kerja untuk pekerjaan itu
  direktori_kerja: /home/circleci/project

 

  1. Tambahkan langkah ke pekerjaan

    Lihat: https://circleci.com/docs/2.0/configuration-reference/#steps

  Langkah:

 

  1.  Periksa kode sumber sehingga alur kerja dapat mengaksesnya.
    - Periksa

 

  1. 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

 

  1.  Bangun proyek atau solusi dotnet dan semua dependensinya.
      - jalankan: nama: Bangun Proyek Dotnet Perintah: dotnet bangun dotnet/${PROJECT_NAME}.csproj -c Rilis

 

  1. Salin artefak ke direktori artefak
  - jalankan: nama: Salin perintah Artefak: | cp dotnet/bin/Release/netcoreapp${DOTNET_VERSION}/${PROJECT_NAME}-${PROJECT_VERSION}.dll ${WORKSPACE}/packages/HelloWorld.dll

 

  1. Pertahankan artefak ke direktori artefak untuk ditandatangani
  - persistent_to_workspace: root: . jalur: - paket/*
 

Tentukan Tahap Penandatanganan

  1. Tentukan pekerjaan penandatanganan
 tanda:

 

  1. Buat variabel lingkungan
    lingkungan: ENVIRONMENT_NAME: PERINTAH PROD: tanda KERJA: /home/circleci/proyek

 

  1.     Tempatkan direktori kerja untuk pekerjaan di Circle-CI
 direktori_kerja: /home/circleci/project

 

  1. Nama artefak untuk ditandatangani
    parameter: nama-artefak: tipe: string default: ''

 

  1. 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

 

  1. Tambahkan langkah ke pekerjaan

      Untuk referensi tambahan, lihat: https://circleci.com/docs/2.0/configuration-reference/#steps

    Langkah:

 

  1. 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

 

  1. Lampirkan ke Workspace untuk mengakses file artefak
   - attach_workspace: di: /home/circleci/project

 

  1. Aktifkan Docker untuk CodeSigner di Circle-CI
 - setup_remote_docker: nama: Atur versi Docker Jarak Jauh: 19.03.13 docker_layer_caching: true

 

  1. 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

 

  1. 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 >>

 

  1. 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

SSL.com EV Penandatanganan Kode sertifikat membantu melindungi kode Anda dari gangguan dan kompromi yang tidak sah dengan tingkat validasi tertinggi, dan tersedia hanya untuk $ 249 per tahun. Anda juga bisa gunakan sertifikat Penandatanganan Kode EV Anda dalam skala besar di cloud menggunakan eSigner.

PESAN SEKARANG

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.

Anda dapat merujuk ke repositori Github SSL.com yang berisi kode sumber gambar buruh pelabuhan dan menjelaskan cara menggunakannya: https://github.com/SSLcom/ci-images

Contoh Pipa CircleCI

Lihat contoh pipeline CircleCI yang telah kami buat github.com/SSLcom/codesigner-circleci-sample

Panduan Integrasi Penandatanganan Jarak Jauh CI/CD lainnya

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.

Keluar dari versi seluler