Zmienne środowiskowe
- USERNAME: Nazwa użytkownika konta SSL.com. (Wymagany)
- HASŁO: Hasło do konta SSL.com (wymagane)
- CREDENTIAL_ID: Identyfikator poświadczeń do podpisywania certyfikatu. Jeśli credential_id zostanie pominięty, a użytkownik ma tylko jeden certyfikat podpisywania kodu eSigner, CodeSignTool domyślnie to zrobi. Jeśli użytkownik ma więcej niż jeden certyfikat podpisywania kodu, ten parametr jest obowiązkowy. (Wymagany)
- TOTP_SECRET: Klucz tajny TOTP protokołu OAuth. Możesz uzyskać dostęp do szczegółowych informacji na temat https://www.ssl.com/how-to/automate-esigner-ev-code-signing (Wymagany)
- ŚRODOWISKO_NAME : 'TEST' lub 'PROD' Środowisko. (Wymagany)
Wejścia
- ścieżka_pliku_wejściowego: Ścieżka obiektu kodu do podpisania. (Wymagany)
- ścieżka_katalogu_wyjściowego: Katalog, w którym zostaną zapisane obiekty z podpisanym kodem. Jeśli ścieżka_wyjściowa zostanie pominięta, plik określony w -ścieżka_pliku zostanie zastąpiony podpisanym plikiem.
Przykładowy przepływ pracy podpisywania kodu Java (Maven) w JAR
Utwórz projekt
W ramach projektu utwórz plik dla Travis

Zdefiniuj składniki przepływu pracy
- Umieść architekturę procesora, aby uruchomić zadanie
łuk: amd64
- Domyślny język do uruchamiania testów
język: java
- Określ system operacyjny, w którym chcesz uruchomić zadanie
system operacyjny: linux
- Napisz dystrybucję Ubuntu, która będzie używana
odległość: bioniczna
- Zdefiniuj zmienne środowiskowe globalnie. Właściwość na poziomie zadania zastępuje zmienne globalne.
- Zwróć uwagę, że TERM=dumb jest potrzebne tylko dla instancji projektu Gradle.
- W sekcji ENVIRONMENT_NAME umieść „TEST” dla podpisywania testowego i „PROD” dla podpisywania na żywo.
śr:
światowy:
– NAZWA_PROJEKTU=”Witaj Świecie”
– WERSJA_PROJEKTU=”0.0.1”
– TERM=głupi
– NAZWA_ŚRODOWISKA=”TEST”
- Określ kolejność etapów. Wszystkie prace w jednym etapie muszą zostać zakończone przed wykonaniem kolejnego etapu.
gradacja:
- budować
- podpisać
Nakreśl etap budowy
Oferty pracy:
zawierać:
– etap: budowa
- Nazwa pracy
nazwa: budowniczy-maven
- Dystrybucja Ubuntu do użycia
odległość: bioniczna
- Użyj polecenia docker do podpisywania
usługi:
– doker
- Użyj dotnet-cli do zbudowania projektu
język: java
- Wersja Java do zbudowania projektu
JDK:
– wyrocznia17
- Pamięć podręczna katalogu m2 w celu przyspieszenia
Pamięć podręczna:
katalogi:
– $DOM/.m2
- Napisz skrypt Przed, który zostanie uruchomiony przed zbudowaniem projektu
przed_skryptem:
# Twórz katalogi dla artefaktów
– mkdir -p ${TRAVIS_BUILD_DIR}/artefakty
– mkdir -p ${TRAVIS_BUILD_DIR}/pakiety
# Ustaw opcje kompilacji Maven
– wyeksportuj MAVEN_CLI_OPTS=”–tryb-wsadowy –błędy –niepowodzenie na końcu –wersja pokazowa -DinstallAtEnd=true -DdeployAtEnd=true”
- Napisz skrypt do zbudowania projektu.
- W tym przykładowym przepływie pracy podpisywania utworzono wiele typów projektów. Dlatego utrzymywano pliki różnych typów projektów, tworząc podfoldery. Dla projektów Java utworzono podfolder o nazwie „java”. Na powyższym zrzucie demonstracyjnym nie było potrzeby tworzenia podfolderu o nazwie „java”, więc nie było to uwzględnione w skrypcie.
scenariusz:
# Zbuduj projekt Maven z opcjami Maven
– mvn $MAVEN_CLI_OPTS czysta instalacja -f java/pom.xml
# Skopiuj zbudowane artefakty do katalogu artefaktów
– cp java/target/${PROJECT_NAME}-${PROJECT_VERSION}.jar ${TRAVIS_BUILD_DIR}/packages/${PROJECT_NAME}.jar
- Opisz, jak określić listę plików i katalogów, które należy dołączyć do zadania, jeśli się powiedzie.
przestrzenie robocze:
Stwórz:
nazwa: maven-jar-artefakty
ścieżki:
# Zapisz artefakt, aby użyć zadania podpisywania
– ${TRAVIS_BUILD_DIR}/pakiety/${PROJECT_NAME}.jar
Nakreśl etap znaku
– scena: znak
- Wpisz nazwę pracy
nazwa: znak-jar-plik
- Umieść dystrybucję Ubuntu do użycia
odległość: bioniczna
- Użyj polecenia Docker do podpisywania
usługi:
– doker
- Zdefiniuj zmienne środowiskowe dla określonych zadań.
- Na powyższym zrzucie ekranu polecenie podpisu zostało zdefiniowane bezpośrednio w skrypcie podpisu, a nie pod zmiennymi środowiskowymi. Both metody mogą poprawnie podpisywać się za pomocą TravisCI.
śr:
POLECENIE=”znak”
- Użyj dotnet-cli do zbudowania projektu
język: java
- Wersja Java do zbudowania projektu
JDK:
– wyrocznia17
- Przed uruchomieniem skryptu przed zbudowaniem projektu
przed_skryptem:
# Twórz katalogi dla artefaktów
– mkdir -p ${TRAVIS_BUILD_DIR}/artefakty
– mkdir -p ${TRAVIS_BUILD_DIR}/pakiety
- Skrypt do budowy projektu
scenariusz:
# Docker Pociągnij obraz Docker CodeSigner
– docker pull ghcr.io/sslcom/codesigner:latest
# Podpisz artefakt za pomocą obrazu Docker CodeSigner
– docker run -i –rm –dns 8.8.8.8 –host sieciowy –volume ${TRAVIS_BUILD_DIR}/pakiety:/codesign/przykłady
–objętość ${TRAVIS_BUILD_DIR}/artefakty:/codesign/output
-e NAZWA UŻYTKOWNIKA=${NAZWA UŻYTKOWNIKA} -e HASŁO=${HASŁO} -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}.jar -output_dir_path=/codesign/output
- Służy do określenia listy plików i katalogów, które powinny być dołączone do zadania, jeśli się powiedzie.
przestrzenie robocze:
posługiwać się:
– maven-jar-artefakty
Stwórz:
nazwa: podpisany-plik-jar
ścieżki:
# Zapisz podpisany artefakt
– ${TRAVIS_BUILD_DIR}/artefakty/${PROJECT_NAME}.jar
Zdefiniuj zmienne środowiskowe
Przejdź do Travisa i kliknij Ustawienia przycisk
Dodaj wartość dla każdej zmiennej
Przewiń w dół do Zmienne środowiskowe sekcji i kliknij przycisk Dodaj, aby dodać wartość dla każdej zmiennej
Utwórz repozytorium Github
Poszukaj poleceń push na Github
Napisz polecenia push w terminalu w swoim edytorze
Poczekaj na zakończenie pracy kompilacji
W Travis zadanie kompilacji powinno rozpocząć się automatycznie po wypchnięciu kodu.
Rozpocznij etap podpisywania kodu
Kliknij znak sekcja dla Narzędzie CodeSign rozpocząć proces podpisywania
Poczekaj, aż maszyna wirtualna zakończy uruchamianie
Potwierdź, czy podpisywanie kodu powiodło się
Przykładowy rurociąg Travis CI
Sprawdź przykładowy potok Travis CI, na którym utworzyliśmy https://github.com/SSLcom/codesigner-travisci-sampleInne przewodniki integracji zdalnego podpisywania usług CI/CD
- Integracja Cloud Code Signing z CircleCI
- Integracja Cloud Code Signing z działaniami GitHub
- Integracja Cloud Code Signing z GitLab CI
- Integracja Cloud Code Signing z Jenkins CI
- Integracja podpisywania kodu w chmurze z usługą Azure DevOps
- Integracja podpisywania kodu w chmurze z BitBucket
- Automatyzacja podpisywania kodu w chmurze z usługami CI/CD
Potrzebujesz niestandardowych rozwiązań?
Dzięki naszej wiedzy eksperckiej i pięciogwiazdkowemu personelowi pomocy technicznej jesteśmy gotowi i chętni do współpracy z Tobą w zakresie niestandardowych rozwiązań lub rabatów na podpisywanie na dużą skalę na poziomie przedsiębiorstwa. Wypełnij poniższy formularz, a skontaktujemy się z Tobą.