Ortam Değişkenleri
- KULLANICI ADI: SSL.com hesabı kullanıcı adı. (Gerekli)
- ŞİFRE: SSL.com hesap şifresi (Gerekli)
- KİMLİK_KİMLİĞİ: İmza sertifikası için kimlik bilgisi. credential_id atlanırsa ve kullanıcının yalnızca bir eSigner kod imzalama sertifikası varsa, CodeSignTool varsayılan olarak bunu ayarlar. Kullanıcının birden fazla kod imzalama sertifikası varsa bu parametre zorunludur. (Gerekli)
- TOTP_SECRET: OAuth TOTP Gizli. adresinden detaylı bilgilere ulaşabilirsiniz. https://www.ssl.com/how-to/automate-esigner-ev-code-signing (Gereklidir)
- ENVIRONMENT_NAME : 'TEST' veya 'PROD' Ortamı. (Gerekli)
Girdiler
- girdi_dosya_yolu: İmzalanacak kod nesnesinin yolu. (Gerekli)
- çıktı_dir_yolu: İmzalı kod nesnesinin/nesnelerinin yazılacağı dizin. output_path atlanırsa, -file_path içinde belirtilen dosyanın üzerine imzalı dosya yazılır.
.NET Kodu DLL İmzalama Örnek İş Akışı
Bir yml dosyası oluşturun
İşleri aşamalar halinde gruplandırın. Bir aşamadaki tüm işler, bir sonraki aşama yürütülmeden önce tamamlanmalıdır.
aşamalar: - inşa - imzala
Ortam değişkenlerini global olarak tanımlayın. İş düzeyi özelliği, genel değişkenleri geçersiz kılar.
- Örnekleri daha okunaklı hale getirmek için ortam değişkenleri kullanılır. Örnek iş akışının yukarıdaki ekran görüntüsünde PROJECT_NAME, PROJECT_VERSION ve DOTNET_VERSION isteğe bağlı olarak çıkarılmıştır. İmzalama bu eksikliklerle devam edebilir.
- ENVIRONMENT_NAME altında, test imzalama için "TEST" ve canlı imzalama için "PROD" yerleştirin.
değişkenler: PROJECT_NAME: "HelloWorld" PROJECT_VERSION: "0.0.1" DOTNET_VERSION: "3.1" ENVIRONMENT_NAME: "PROD"
Tanımlamak Yapı Aşaması
Aşağıda, dll eseri oluşturmak için işinizin tanımı verilmiştir.
yapı-dotnet:
- İşin hangi aşamada çalışacağını tanımlayın.
aşama: inşa
- Kullanılması gereken resmin tam adını yerleştirin. Gerekirse Kayıt bölümünü içermelidir.
resim: mcr.microsoft.com/dotnet/sdk:3.1-bullseye
- İşten *önce* çalışması gereken komut dosyalarını tanımlayın. Global olarak veya iş başına ayarlanabilir.
Before_script: - mkdir -p ${CI_PROJECT_DIR}/artifacts - mkdir -p ${CI_PROJECT_DIR}/packages
- Runner tarafından yürütülen Shell komut dosyalarını tanımlayın. DLL yapıtını oluştur
komut dosyası: - dotnet build dotnet/${PROJECT_NAME}.csproj -c Sürümü - cp dotnet/bin/Release/netcoreapp${DOTNET_VERSION}/${PROJECT_NAME}-${PROJECT_VERSION}.dll ${CI_PROJECT_DIR}/packages/${ PROJECT_NAME}.dll
- Başarılı olursa işe eklenmesi gereken dosya ve dizinlerin bir listesini belirtin.
- 'sona erme_in' özelliği, dosyanın belirli bir süre sonra silinmesine izin verir. Kullanımı isteğe bağlıdır. Bu nedenle, yukarıdaki örnek iş akışının ekran görüntüsü bu özelliği göstermiyor.
yapıtlar: yollar: - ${CI_PROJECT_DIR}/packages/HelloWorld.dll'nin son kullanma tarihi: 5 dakika
İşaret Aşamasını Tanımlayın
Aşağıda, dll yapıtını imzalamak için işinizin tanımı yer almaktadır.
sign-dotnet-yapıları:
- İşin hangi aşamada çalışacağını tanımlayın.
aşama: işaret
- Kullanılması gereken resmin tam adını yerleştirin. Gerekirse Kayıt bölümünü içermelidir.
resim: liman işçisi:19.03.0
- Hizmetleri tanımlayın. Bu, 'image' özelliğine benzer, ancak belirtilen hizmetleri 'image' kapsayıcısına bağlayacaktır.
hizmetler: - liman işçisi:19.03.0-dind
- Belirli işler için ortam değişkenlerini tanımlayın.
- Yukarıdaki ekran görüntüsünde, işaret komutu, ortam değişkenleri altında değil, doğrudan işaret komut dosyasında tanımlanmıştır. Bdiğer yöntemler TravisCI ile doğru şekilde imzalayabilir.
değişkenler: KOMUT: "işaret"
- İşten *önce* çalışması gereken komut dosyalarını tanımlayın. Global olarak veya iş başına ayarlanabilir.
Before_script: - mkdir -p ${CI_PROJECT_DIR}/artifacts - mkdir -p ${CI_PROJECT_DIR}/packages
- Runner tarafından yürütülen Shell komut dosyalarını yerleştirin. CodeSignTool Docker Image ile .NET dll yapıtını imzalayın
betik: - docker pull ghcr.io/sslcom/codesigner:latest - docker run -i --rm --dns 8.8.8.8 --ağ ana bilgisayarı --volume ${CI_PROJECT_DIR}/packages:/codesign/examples --volume $ {CI_PROJECT_DIR}/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:latest ${COMMAND} -input_file_path=/codesign/examples/${PROJECT_NAME}.dll -output_dir_path=/codesign/output
- Başarılı olursa işe eklenmesi gereken dosya ve dizinlerin listesini belirtmek için kullanılabilecek komut dosyasını yazın.
eserler: yollar: - ${CI_PROJECT_DIR}/artifacts/${PROJECT_NAME}.dll'nin geçerlilik süresi: 1 gün
- Yapıtların yüklenmesi gereken önceki aşamalardan iş adlarının bir listesini belirtin.
bağımlılıklar: - build-dotnet
Yapı Aşamasını Başlatın
Depo oluştur
Aşağıdaki ekran görüntüsünde görüldüğü gibi Gitlab'daki Komut satırı talimatlarına bakın.
klasörünüzü itin
Bunu tıklayarak yapın terminal menüde, ardından Yeni Terminal.
Projeyi göndermek için Push komut dosyasını Terminal'inize yazın
Oluştur düğmesini tıklayın
Boru hattını tetikledikten sonra, inşa etmeye devam edin
Yapının başarılı olup olmadığını kontrol edin
İşaret Aşamasını Başlatın
Eseri imzalamaya devam edin
Kod imzalamanın başarılı olup olmadığını onaylayın
Şimdi imzalı dosyayı indirebilirsiniz
Örnek Gitlab CI Ardışık Düzeni
Üzerinde oluşturduğumuz örnek Gitlab CI işlem hattına göz atın github.com/SSLcom/codesigner-gitlabci-sampleDiğer CI/CD Uzaktan İmzalama Entegrasyon Kılavuzları
- CircleCI ile Bulut Kod İmzalama Entegrasyonu
- GitHub Eylemleri ile Bulut Kod İmzalama Entegrasyonu
- Jenkins CI ile Bulut Kod İmzalama Entegrasyonu
- Travis CI ile Bulut Kod İmzalama Entegrasyonu
- Azure DevOps ile Bulut Kod İmzalama Entegrasyonu
- BitBucket ile Bulut Kod İmzalama Entegrasyonu
- CI/CD Hizmetleri ile Bulut Kod İmzalama Otomasyonu
Özel Çözümlere mi ihtiyacınız var?
Uzman bilgi birikimimiz ve beş yıldızlı destek ekibimizle, özel çözümler veya kurumsal düzeyde yüksek hacimli imza indirimleri konusunda sizinle birlikte çalışmaya hazır ve istekliyiz. Aşağıdaki formu doldurun, sizinle iletişime geçelim.