Μεταβλητές περιβάλλοντος
- 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 θα αντικατασταθεί με το υπογεγραμμένο αρχείο.
Προετοιμάστε τα στοιχεία της ροής εργασίας (Υπογραφή κωδικού DLL .NET)
- Δημιουργήστε ένα φάκελο .circleci
Στον χώρο εργασίας υπογραφής κώδικα, δημιουργήστε ένα φάκελος .circleci. Κάτω από αυτό, δημιουργήστε ένα αρχείο config.yml.
- Ρυθμίστε την έκδοση CI
Έκδοση: 2.1
- Επίκληση εργασιών μέσω ροών εργασίας. Οι ροές εργασίας ενορχηστρώνουν ένα σύνολο εργασιών προς εκτέλεση. Οι εργασίες για αυτόν τον αγωγό διαμορφώνονται παρακάτω
Βλέπω: https://circleci.com/docs/2.0/configuration-reference/#workflows
ροές εργασιών:
- Γράψτε το όνομα της ροής εργασίας.
dotnet:
- Μέσα στη ροή εργασίας, ορίζετε τις εργασίες που θέλετε να εκτελέσετε.
θέσεις εργασίας: - κατασκευή - σημάδι: απαιτεί: - κατασκευή
Καθορίστε το στάδιο κατασκευής
- Καθορίστε μια εργασία που θα κληθεί αργότερα σε μια ροή εργασίας.
(Δείτε: https://circleci.com/docs/2.0/configuration-reference/#jobs)
θέσεις εργασίας: κατασκευή:
- Δημιουργήστε μια μεταβλητή περιβάλλοντος
- Οι μεταβλητές περιβάλλοντος χρησιμοποιούνται για να κάνουν τα δείγματα πιο ευανάγνωστα. Στο παραπάνω στιγμιότυπο οθόνης ενός παραδείγματος ροής εργασίας υπογραφής, τα PROJECT_NAME, PROJECT_VERSION και DOTNET_VERSION παραλήφθηκαν προαιρετικά. Η υπογραφή μπορεί να συνεχιστεί ακόμα και με αυτές τις παραλείψεις.
περιβάλλον: PROJECT_NAME: HelloWorld PROJECT_VERSION: 0.0.1 DOTNET_VERSION: 3.1 WORKSPACE: /home/circleci/project
- Ορίστε έναν εκτελεστή Docker: (https://circleci.com/docs/2.0/executor-types/)
# Μπορείτε να καθορίσετε μια εικόνα από το Dockerhub ή να χρησιμοποιήσετε μία από τις Εικόνες ευκολίας από το Κέντρο προγραμματιστών του CircleCI.
docker: - εικόνα: mcr.microsoft.com/dotnet/sdk:3.1-bullseye
- Τοποθετήστε τον κατάλογο εργασίας για την εργασία
work_directory: /home/circleci/project
- Προσθέστε βήματα στην εργασία
Δείτε: https://circleci.com/docs/2.0/configuration-reference/#steps
βήματα:
- Ελέγξτε τον πηγαίο κώδικα, ώστε η ροή εργασίας να έχει πρόσβαση σε αυτόν.
- Ολοκλήρωση αγοράς
- Δημιουργήστε κατάλογο τεχνουργημάτων για να αποθηκεύσετε υπογεγραμμένα και ανυπόγραφα αρχεία τεχνουργημάτων
- run: name: Create Artifacts Directory εντολή: | mkdir -p ${WORKSPACE}/artifacts mkdir -p ${WORKSPACE}/πακέτα
- Δημιουργήστε ένα έργο ή λύση dotnet και όλες τις εξαρτήσεις του.
- run: name: Build Dotnet Project Command: dotnet build dotnet/${PROJECT_NAME}.csproj -c Έκδοση
- Αντιγράψτε το τεχνούργημα στον κατάλογο τεχνουργημάτων
- Σε αυτό το παράδειγμα ροής εργασίας γραπτής υπογραφής, δημιουργήθηκαν πολλαπλοί τύποι έργων. Αυτός είναι ο λόγος για τον οποίο διατηρήθηκαν αρχεία διαφορετικών τύπων έργου δημιουργώντας υποφακέλους. Ένας υποφάκελος με το όνομα 'dotnet' δημιουργήθηκε για έργα Dotnet. Στο στιγμιότυπο οθόνης επίδειξης παραπάνω, δεν χρειαζόταν να δημιουργηθεί ένας υποφάκελος με το όνομα "dotnet", επομένως δεν συμπεριλήφθηκε στο σενάριο.
- εκτέλεση: όνομα: Εντολή Copy Artifacts: | cp dotnet/bin/Release/netcoreapp${DOTNET_VERSION}/${PROJECT_NAME}-${PROJECT_VERSION}.dll ${WORKSPACE}/packages/HelloWorld.dll
- Διατηρήστε το τεχνούργημα στον κατάλογο τεχνουργημάτων για υπογραφή
- persist_to_workspace: root: . μονοπάτια: - πακέτα/*
Καθορίστε το Στάδιο Υπογραφής
- Καθορίστε την εργασία υπογραφής
σημάδι:
- Δημιουργήστε μια μεταβλητή περιβάλλοντος
- Στο παραπάνω στιγμιότυπο οθόνης, η εντολή sign ορίστηκε απευθείας στη δέσμη ενεργειών υπογραφής και όχι στις μεταβλητές περιβάλλοντος. σιΆλλες μέθοδοι μπορούν να υπογράψουν σωστά με το CircleCI.
- Οι μεταβλητές περιβάλλοντος χρησιμοποιούνται για να κάνουν τα δείγματα πιο ευανάγνωστα. Στο παραπάνω στιγμιότυπο οθόνης του παραδείγματος ροής εργασίας, ορισμένες μεταβλητές δεν συμπεριλήφθηκαν προαιρετικά. Η υπογραφή μπορεί να συνεχιστεί ακόμα και με αυτές τις παραλείψεις.
περιβάλλον: ENVIRONMENT_NAME: PROD COMMAND: υπογράψτε WORKSPACE: /home/circleci/project
- Τοποθετήστε τον κατάλογο εργασίας για την εργασία στο Circle-CI
work_directory: /home/circleci/project
- Όνομα τεχνουργήματος για υπογραφή
- Η τιμή "artifact-name" είναι μια επιλογή για πολλά έργα Η παράμετρος "artifact-name" προστέθηκε έτσι ώστε το ίδιο τμήμα υπογραφής να μπορεί να χρησιμοποιηθεί για όλους τους τύπους έργων. Δεδομένου ότι το παράδειγμα στο στιγμιότυπο οθόνης βασίζεται σε ένα μόνο έργο, δεν ήταν απαραίτητο να συμπεριληφθεί.
parameters: artifact-name: type: string default: ''
- Ορίστε έναν εκτελεστή docker:
Για πρόσθετη αναφορά, βλ. https://circleci.com/docs/2.0/executor-types/
Μπορείτε να καθορίσετε μια εικόνα από το Dockerhub ή να χρησιμοποιήσετε μία από τις Εικόνες ευκολίας από το Κέντρο προγραμματιστών του CircleCI.
Φροντίστε να ενημερώσετε την παρακάτω ετικέτα εικόνας Docker στην έκδοση openjdk της εφαρμογής σας.
Μια λίστα με τις διαθέσιμες εικόνες ευκολίας CircleCI Docker είναι διαθέσιμη εδώ: https://circleci.com/developer/images/image/cimg/openjdk
docker: - εικόνα: cimg/openjdk:17.0.3
- Προσθέστε βήματα στην εργασία
Για πρόσθετη αναφορά, βλ. https://circleci.com/docs/2.0/configuration-reference/#steps
βήματα:
- Δημιουργήστε κατάλογο τεχνουργημάτων για να αποθηκεύσετε υπογεγραμμένα και ανυπόγραφα αρχεία τεχνουργημάτων
- run: name: Create Artifacts Directory εντολή: | mkdir -p ${WORKSPACE}/artifacts mkdir -p ${WORKSPACE}/πακέτα
- Επισύναψη στο Workspace για πρόσβαση στο αρχείο τεχνουργημάτων
- attach_workspace: στο: /home/circleci/project
- Ενεργοποίηση Docker για CodeSigner στο Circle-CI
- setup_remote_docker: όνομα: Setup Remote Docker έκδοση: 19.03.13 docker_layer_caching: true
- Τραβήξτε το Codesigner Docker Image από το μητρώο Github
- εκτέλεση: όνομα: Docker Pull Εντολή εικόνας: | docker pull ghcr.io/sslcom/codesigner:last docker pull alpine:3.4
- Γράψτε το βήμα όπου θα υπογραφεί το τεχνούργημα με το CodeSignTool.
- run: name: Sign Artifact Εντολή αρχείου: | docker create -v /codesign/packages --name codesign-in alpine:3.4 /bin/true docker create -v /codesign/artifacts --name codesign-out alpine:3.4 /bin/true docker cp ${WORKSPACE}/packages /<< parameters.artifact-name >> codesign-in:/codesign/packages docker run -i --rm --dns 8.8.8.8 --κεντρικός υπολογιστής δικτύου --volumes-from codesign-in --volumes-from codesign- out -e USERNAME=${USERNAME} -e PASSWORD=${PASSWORD} -e CREDENTIAL_ID=${CREDENTIAL_ID} -e TOTP_SECRET=${TOTP_SECRET} -e ENVIRONMENT_NAME=${ENVIRONMENT_NAME} ghsslcr:αργά. ${COMMAND} -input_file_path=/codesign/packages/<< parameters.artifact-name >> -output_dir_path=/codesign/artifacts docker cp codesign-out:/codesign/artifacts/<< parameters.artifact-name >> ${ WORKSPACE}/artifacts/<< parameters.artifact-name >>
- Γράψτε το βήμα για τη μεταφόρτωση του αντικειμένου σας από τη ροή εργασίας σας, επιτρέποντάς σας να μοιράζεστε δεδομένα μεταξύ εργασιών και να αποθηκεύετε δεδομένα μόλις ολοκληρωθεί μια ροή εργασίας
- store_artifacts: όνομα: Μεταφόρτωση υπογεγραμμένων αρχείων Διαδρομή: /home/circleci/project/artifacts/<< parameters.artifact-name >> προορισμός: << parameters.artifact-name >>
Δημιουργήστε ένα νέο αποθετήριο στη γραμμή εντολών
Αντιγράψτε τα στοιχεία της εντολής push από τη θέση του έργου σας στο λογαριασμό σας στο GitHub
Συμπεριλάβετε όλα τα στοιχεία εντολών push στον επεξεργαστή σας
Ρυθμίστε ένα έργο στο CircleCI χρησιμοποιώντας το αποθετήριο που είναι ενσωματωμένο στο GitHub
Ορίστε όλες τις μεταβλητές περιβάλλοντος
Ενώ το έργο εκτελείται, κάντε κλικ στο κουμπί Ρυθμίσεις έργου ακολουθούμενο από Μεταβλητές περιβάλλοντος για να ορίσετε τις μεταβλητές
Τοποθετήστε τις τιμές για κάθε μεταβλητή
Κάντε κλικ στο Προσθήκη μεταβλητής περιβάλλοντος κουμπί για να προσθέσετε τα ονόματα και τις τιμές όλων των μεταβλητών που απαιτούνται για το έργο.
Περιμένετε να κατασκευαστεί το έργο
Κάντε κλικ στην επιλογή Διατήρηση στον χώρο εργασίας
Περιμένετε για λίγο να μεταφορτωθεί με επιτυχία το αρχείο του χώρου εργασίας.
Κάντε κλικ στο κουμπί υπογραφή
Περιμένετε να ρυθμιστεί το Remote Docker
Μπορεί να διαρκέσει περισσότερο από ένα λεπτό, ανάλογα με το μέγεθος του αρχείου
Περιμένετε να υπογραφούν τα τεχνουργήματα
Πατήστε Αντικείμενα αυτί
Εάν κάνετε κλικ Αντικείμενα, θα μπορείτε να δείτε το αρχείο που έχετε κωδικοποιήσει με επιτυχία. Θα ειδοποιηθείτε επίσης από το CircleCI για την επιτυχή υπογραφή κώδικα.
Δείγμα αγωγού CircleCI
Δείτε το δείγμα του αγωγού CircleCI που δημιουργήσαμε github.com/SSLcom/codesigner-circleci-sampleΆλλοι οδηγοί ενσωμάτωσης απομακρυσμένης υπογραφής CI/CD
- Ενσωμάτωση υπογραφής κώδικα cloud με ενέργειες GitHub
- Cloud Code Signing Integration με το GitLab CI
- Cloud Code Signing Integration με το Jenkins CI
- Cloud Code Signing Integration με το Travis CI
- Ενσωμάτωση υπογραφής κώδικα Cloud με το Azure DevOps
- Cloud Code Signing Integration με το BitBucket
- Αυτοματισμός υπογραφής κωδικού νέφους με υπηρεσίες CI/CD
Χρειάζεστε προσαρμοσμένες λύσεις;
Με τις εξειδικευμένες γνώσεις μας και το προσωπικό υποστήριξης πέντε αστέρων, είμαστε έτοιμοι και πρόθυμοι να συνεργαστούμε μαζί σας για προσαρμοσμένες λύσεις ή εκπτώσεις υπογραφών μεγάλου όγκου σε εταιρικό επίπεδο. Συμπληρώστε την παρακάτω φόρμα και θα επικοινωνήσουμε.