Αυτός είναι ένας οδηγός για το πώς τα Azure DevOps μπορούν να ενσωματωθούν με το eSigner CodeSignTool για την εκτέλεση αυτοματοποιημένης υπογραφής κώδικα.
Το CodeSignTool είναι ένα βοηθητικό πρόγραμμα γραμμής εντολών που είναι κατάλληλο για διαδικασίες υπογραφής κώδικα cloud και ενσωματώνεται απρόσκοπτα με διάφορες πλατφόρμες CI/CD. Αποτελεί μέρος του eSigner: της υπηρεσίας απομακρυσμένης υπογραφής που προσφέρει μια αποτελεσματική, ασφαλή και φιλική προς το χρήστη προσέγγιση για την υπογραφή κώδικα.
Μεταβλητές περιβάλλοντος
- USERNAME: Όνομα χρήστη λογαριασμού SSL.com. (Απαιτείται)
- ΚΩΔΙΚΟΣ: Κωδικός πρόσβασης λογαριασμού SSL.com (Απαιτείται)
- CREDENTIAL_ID: Διαπιστευτήριο για την υπογραφή πιστοποιητικού. Εάν παραληφθεί το credential_id και ο χρήστης έχει μόνο ένα πιστοποιητικό υπογραφής κωδικού eSigner, το CodeSignTool θα το έχει προεπιλογή. Εάν ο χρήστης διαθέτει περισσότερα από ένα πιστοποιητικά υπογραφής κωδικού, αυτή η παράμετρος είναι υποχρεωτική. (Απαιτείται)
- TOTP_SECRET: OAuth TOTP Secret. Μπορείτε να έχετε πρόσβαση σε λεπτομερείς πληροφορίες για https://www.ssl.com/how-to/automate-esigner-ev-code-signing (Απαιτείται)
- ENVIRONMENT_NAME : Περιβάλλον 'TEST' ή 'PROD'. (Απαιτείται)
Είσοδοι
- διαδρομή_αρχείου_εισόδου: Διαδρομή του αντικειμένου κωδικού προς υπογραφή. (Απαιτείται)
- output_dir_path: Κατάλογος όπου θα εγγραφούν υπογεγραμμένα αντικείμενα κώδικα. Εάν παραλειφθεί η διαδρομή output_path, το αρχείο που καθορίζεται στο -file_path θα αντικατασταθεί με το υπογεγραμμένο αρχείο.
Δημιουργήστε ένα έργο στο visualstudio.com
Δημιουργήστε ένα νέο αρχείο .yml στον επεξεργαστή κώδικα σας
Ορίστε ενεργοποιητές ενσωμάτωσης και μεταβλητές περιβάλλοντος
Ενεργοποιήσεις συνεχούς ενοποίησης
δώσει το έναυσμα για:
- Κανένα
Καθορίζει τις μεταβλητές περιβάλλοντος σε παγκόσμιο επίπεδο. Η ιδιότητα επιπέδου εργασίας παρακάμπτει τις καθολικές μεταβλητές
μεταβλητές:
buildConfiguration: 'Release'
Ομαδοποιήστε τις εργασίες σε στάδια
Γράψτε τα βήματα για το στάδιο κατασκευής. Όλες οι εργασίες σε ένα στάδιο πρέπει να ολοκληρωθούν πριν από την εκτέλεση του επόμενου σταδίου.
στάδια:
– στάδιο: κατασκευή
# Όταν εκτελείται η ροή εργασίας, αυτό είναι το όνομα που καταγράφεται
displayName: Κατασκευή
θέσεις εργασίας:
– δουλειά:
πισίνα:
Εκτέλεση εργασίας σε Windows VM
vmImage: 'windows-latest'
βήματα:
Εγκαταστήστε το Dotnet 6.0.x
– εργασία: UseDotNet@2
displayName: 'Εγκατάσταση .NET Core SDK'
εισροές:
έκδοση: '6.0.x'
performMultiLevelLookup: true
includePreviewVersions: true
Επαναφορά έργου Dotnet
– εργασία: DotNetCoreCLI@2
displayName: Επαναφορά
εισροές:
εντολή: 'επαναφορά'
Δημιουργία έργου dotnet με ρύθμιση παραμέτρων έκδοσης
– εργασία: DotNetCoreCLI@2
displayName: Κατασκευή
εισροές:
εντολή: κατασκευή
έργα: HelloWorld.csproj
ορίσματα: '–configuration $(buildConfiguration)'
Δημιουργήστε καταλόγους για υπογεγραμμένα τεχνουργήματα
– powershell: New-Item -ItemType Directory -Path ./artifacts
displayName: 'Δημιουργήθηκαν κατάλογοι για αντικείμενα'
Δημιουργία καταλόγων για υπογεγραμμένα πακέτα
– powershell: New-Item -ItemType Directory -Path ./packages
displayName: "Δημιουργήθηκαν κατάλογοι για πακέτα"
Αντιγράψτε το τεχνούργημα στη διαδρομή υπογραφής
– powershell: Copy-Item ./bin/Release/netcoreapp3.1/HelloWorld-0.0.1.dll -Destination ./packages/HelloWorld.dll
displayName: "Αντιγραφή κατασκευασμένων τεχνουργημάτων στον κατάλογο πακέτων"
Αποθηκεύστε το τεχνούργημα για να χρησιμοποιήσετε την εργασία υπογραφής
– εργασία: PublishBuildArtifacts@1
displayName: 'Αποθήκευση σε υπογεγραμμένο τεχνούργημα για λήψη'
εισροές:
pathtoPublish: ./packages/HelloWorld.dll
ArtifactName: HelloWorld.dll
Γράψτε τα βήματα για το στάδιο Sign
– στάδιο: Σημάδι
# Όταν εκτελείται η ροή εργασίας, αυτό είναι το όνομα που καταγράφεται
displayName: Σημάδι
θέσεις εργασίας:
– δουλειά:
πισίνα:
Εκτέλεση εργασίας σε Ubuntu VMs
vmImage: "Ubuntu-πιο πρόσφατο"
βήματα:
Δημιουργήστε καταλόγους για υπογεγραμμένα τεχνουργήματα
– σενάριο: mkdir -p ./artifacts && mkdir -p ./packages
displayName: "Δημιουργήθηκαν κατάλογοι για αντικείμενα και πακέτα"
Κατεβάστε το τεχνούργημα προς υπογραφή
– εργασία: DownloadPipelineArtifact@2
εισροές:
τεχνούργημα: HelloWorld.dll
Διαδρομή λήψης: ./πακέτα
Εγκαταστήστε το Docker 17.09.0-ce
– εργασία: DockerInstaller@0
displayName: Docker Installer
εισροές:
docker Έκδοση: 17.09.0-ce
Τύπος έκδοσης: σταθερό
Docker Pull CodeSigner Εικόνα Docker
– σενάριο: docker pull ghcr.io/sslcom/codesigner:latest
displayName: 'Docker Pull CodeSigner Docker Image'
Υπογράψτε τεχνούργημα με εικόνα αποβάθρας CodeSigner
– script: docker run -i –rm –dns 8.8.8.8 –network host –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:last sign -input_file_path=/codesign/examples/HelloWorld.dll
-output_dir_path=/codesign/output
displayName: 'Υπογραφή τεχνουργήματος με εικόνα αποβάθρας CodeSigner'
Αποθηκεύστε το υπογεγραμμένο τεχνούργημα για λήψη
– εργασία: PublishBuildArtifacts@1
displayName: 'Αποθήκευση υπογεγραμμένου αντικειμένου για λήψη'
εισροές:
pathtoPublish: ./artifacts/HelloWorld.dll
ArtifactName: HelloWorld.dll
Δημιουργήστε ένα νέο αρχείο .gitignore
Πληκτρολογήστε:
bin
obj
.vscode
Στη γραμμή μηνυμάτων, πληκτρολογήστε Created pipeline.yml και κάντε κλικ στο Διαπράττω κουμπί
Προχωρήστε για να κάνετε κλικ στο Συγχρονισμός αλλαγών κουμπί
Μεταβείτε στο visualstudio.com και κάντε κλικ Υπόλοιπο στο ταμπλό
Ανανεώστε τη σελίδα για να δείτε το αρχείο yml
Πατήστε Αγωγοί στο ταμπλό
Στη συνέχεια, κάντε κλικ στο κουμπί Δημιουργία Pipeline
Κάντε κλικ στο Azure Repos Git
Επιλέξτε το αρχείο YAML
Πατήστε Μεταβλητές ακολουθούμενο από Νέα μεταβλητή
Τοποθετήστε την τιμή για κάθε μεταβλητή περιβάλλοντος και κάντε κλικ στο OK κουμπί
Κάντε κλικ στο σύμβολο + για να συνεχίσετε να προσθέτετε κάθε μεταβλητή
Αφού τοποθετήσετε σε όλες τις μεταβλητές, προχωρήστε στη δημιουργία του αγωγού σας
Εκτελέστε τον αγωγό σας
Πατήστε Αγωγοί στο ταμπλό. Κάντε κλικ στις τρεις κουκκίδες (περισσότερες επιλογές) στη διοχέτευσή σας. Κάντε κλικ Εκτέλεση αγωγού. Τέλος, κάντε κλικ στο τρέξιμο κουμπί.
Κάντε κλικ στο Build για να ξεκινήσετε το στάδιο κατασκευής
Ελέγξτε εάν κάθε εργασία στο στάδιο κατασκευής είναι επιτυχής
Κάντε κλικ στο αναπτυσσόμενο βέλος δίπλα Δουλειά για να δείτε την κατάσταση κάθε εργασίας κατασκευής
Ξεκινήστε το στάδιο Υπογραφή κάνοντας κλικ Δουλειά
Ελέγξτε εάν κάθε βήμα στη διαδικασία υπογραφής είναι επιτυχές
Ελέγξτε ξανά εάν και τα δύο στάδια κατασκευής και υπογραφής είναι επιτυχή
Δείγμα αγωγού Azure DevOps
Δείτε το δείγμα του αγωγού Azure DevOps που δημιουργήσαμε github.com/SSLcom/codesigner-azuredevops-sampleΆλλοι οδηγοί ενσωμάτωσης απομακρυσμένης υπογραφής
- Cloud Code Signing Integration με το CircleCI
- Ενσωμάτωση υπογραφής κώδικα cloud με ενέργειες GitHub
- Cloud Code Signing Integration με το GitLab CI
- Cloud Code Signing Integration με το Travis CI
- Cloud Code Signing Integration με το Jenkins CI
- Cloud Code Signing Integration με το BitBucket
- Αυτοματισμός υπογραφής κωδικού νέφους με υπηρεσίες CI/CD
Χρειάζεστε προσαρμοσμένες λύσεις;
Με τις εξειδικευμένες γνώσεις μας και το προσωπικό υποστήριξης πέντε αστέρων, είμαστε έτοιμοι και πρόθυμοι να συνεργαστούμε μαζί σας για προσαρμοσμένες λύσεις ή εκπτώσεις υπογραφών μεγάλου όγκου σε εταιρικό επίπεδο. Συμπληρώστε την παρακάτω φόρμα και θα επικοινωνήσουμε.