Proměnné prostředí
- USERNAME: Uživatelské jméno účtu SSL.com. (Požadované)
- HESLO: Heslo účtu SSL.com (vyžadováno)
- CREDENTIAL_ID: ID pověření pro podpisový certifikát. Pokud je credential_id vynecháno a uživatel má pouze jeden certifikát pro podpis kódu eSigner, CodeSignTool jej použije jako výchozí. Pokud má uživatel více než jeden certifikát pro podpis kódu, je tento parametr povinný. (Požadované)
- TOTP_SECRET: Tajné OAuth TOTP. Podrobné informace získáte na https://www.ssl.com/how-to/automate-esigner-ev-code-signing (Povinné)
- ENVIRONMENT_NAME : Prostředí 'TEST' nebo 'PROD'. (Požadované)
Vstupy
- cesta k vstupnímu_souboru: Cesta objektu kódu, který má být podepsán. (Požadované)
- výstupní_adresář_cesta: Adresář, do kterého budou zapsány podepsané objekty kódu. Pokud je výstupní_cesta vynechána, soubor zadaný v -file_path bude přepsán podepsaným souborem.
Příklad pracovního postupu podepisování JAR kódu Java (Maven).
Vytvořte projekt
Pod projektem vytvořte soubor pro Travis
Definujte součásti pracovního postupu
- Umístěte architekturu CPU ke spuštění úlohy
oblouk: amd64
- Výchozí jazyk pro spuštění testů
jazyk: java
- Zadejte operační systém, na kterém se má úloha spustit
os: linux
- Napište distribuci Ubuntu, která bude použita
dist: bionický
- Definujte proměnné prostředí globálně. Vlastnost na úrovni úlohy přepíše globální proměnné.
- Vezměte na vědomí, že TERM=dumb je potřeba pouze pro instance projektu Gradle.
- V části ENVIRONMENT_NAME umístěte „TEST“ pro testovací podepisování a „PROD“ pro živé podepisování.
env:
globální:
– PROJECT_NAME=”HelloWorld”
– PROJECT_VERSION=”0.0.1″
– TERM=hloupý
– ENVIRONMENT_NAME=”TEST”
- Určete pořadí fází. Všechny úlohy v jedné fázi musí být dokončeny před provedením další fáze.
etapy:
- stavět
- podepsat
Načrtněte fázi výstavby
pracovní místa:
patří:
– etapa: stavět
- Název práce
jméno: build-maven
- Distribuce Ubuntu k použití
dist: bionický
- Pro podepisování použijte příkaz docker
služby:
– přístavník
- K vytvoření projektu použijte dotnet-cli
jazyk: java
- Java verze pro sestavení projektu
jdk:
– oraclejdk17
- Pro urychlení uložte do mezipaměti adresář m2
cache:
adresáře:
– $HOME/.m2
- Napište skript Before, který se má spustit před vytvořením projektu
before_script:
# Vytvořte adresáře pro artefakty
– mkdir -p ${TRAVIS_BUILD_DIR}/artefakty
– mkdir -p ${TRAVIS_BUILD_DIR}/balíčky
# Nastavte možnosti sestavení Maven
– export MAVEN_CLI_OPTS=”–dávkový režim –chyby –fail-at-end –show-version -DinstallAtEnd=true -DdeployAtEnd=true”
- Napište skript pro vytvoření projektu.
- V tomto pracovním postupu příkladu podepisování bylo vytvořeno několik typů projektů. To je důvod, proč byly soubory různých typů projektů udržovány vytvořením podsložek. Pro projekty Java byla vytvořena podsložka s názvem 'java'. Na ukázkovém snímku obrazovky výše nebylo nutné vytvářet podsložku s názvem „java“, takže to nebylo součástí skriptu.
skript:
# Vybudujte projekt Maven s možnostmi Maven
– mvn $MAVEN_CLI_OPTS čistá instalace -f java/pom.xml
# Zkopírujte vytvořené artefakty do adresáře artefaktů
– cp java/target/${PROJECT_NAME}-${PROJECT_VERSION}.jar ${TRAVIS_BUILD_DIR}/packages/${PROJECT_NAME}.jar
- Nastínit, jak zadat seznam souborů a adresářů, které by měly být připojeny k úloze, pokud bude úspěšná.
pracovní prostory:
vytvořit:
název: maven-jar-artifacts
cesty:
# Uložte artefakt, abyste mohli použít úlohu podepisování
– ${TRAVIS_BUILD_DIR}/packages/${PROJECT_NAME}.jar
Nastínit fázi znamení
– etapa: sign
- Napište název práce
jméno: sign-jar-file
- Umístěte distribuci Ubuntu k použití
dist: bionický
- Pro podepisování použijte příkaz Docker
služby:
– přístavník
- Definujte proměnné prostředí pro konkrétní úlohy.
- Na výše uvedeném snímku obrazovky byl příkaz sign definován přímo ve skriptu sign a nikoli pod proměnnými prostředí. Both metody se mohou správně podepsat pomocí TravisCI.
env:
COMMAND = "podepsat"
- K vytvoření projektu použijte dotnet-cli
jazyk: java
- Java verze pro sestavení projektu
jdk:
– oraclejdk17
- Před spuštěním skriptu před vytvořením projektu
before_script:
# Vytvořte adresáře pro artefakty
– mkdir -p ${TRAVIS_BUILD_DIR}/artefakty
– mkdir -p ${TRAVIS_BUILD_DIR}/balíčky
- Skript pro sestavení projektu
skript:
# Obrázek Docker Pull CodeSigner Docker
– docker pull ghcr.io/sslcom/codesigner:latest
# Podepište artefakt pomocí obrázku CodeSigner Docker
– docker run -i –rm –dns 8.8.8.8 –hostitel sítě –volume ${TRAVIS_BUILD_DIR}/packages:/codesign/examples
–volume ${TRAVIS_BUILD_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}.jar -output_dir_path=/codesign/output
- Používá se k určení seznamu souborů a adresářů, které by měly být připojeny k úloze, pokud bude úspěšná.
pracovní prostory:
použití:
– maven-jar-artefakty
vytvořit:
jméno: podepsaný-jar-soubor
cesty:
# Uložte podepsaný artefakt
– ${TRAVIS_BUILD_DIR}/artifacts/${PROJECT_NAME}.jar
Definujte proměnné prostředí
Přejděte na Travis a klikněte na Nastavení tlačítko
Přidejte hodnotu pro každou proměnnou
Přejděte dolů na Proměnné prostředí a kliknutím na tlačítko Přidat přidejte hodnotu pro každou proměnnou
Vytvořte repozitář Github
Hledejte příkazy push na Github
Zapište příkazy push na terminál ve svém editoru
Počkejte na dokončení úlohy sestavení
Na Travisu by se úloha sestavení měla spustit automaticky po vložení kódu.
Zahajte fázi podepisování kódu
Klepněte na tlačítko podepsat sekce pro CodeSignTool k zahájení procesu podepisování
Počkejte, až váš virtuální počítač dokončí bootování
Potvrďte, zda bylo podepsání kódu úspěšné
Ukázka Travis CI Pipeline
Podívejte se na ukázku potrubí Travis CI, na kterém jsme vytvořili github.com/SSLcom/codesigner-travisci-sampleDalší příručky integrace vzdáleného podepisování služby CI/CD
- Integrace cloudového podepisování kódu s CircleCI
- Integrace cloudového podepisování kódu s akcemi GitHub
- Integrace cloudového kódového podpisu s GitLab CI
- Integrace cloudového podepisování kódu s Jenkins CI
- Integrace cloudového podepisování kódu s Azure DevOps
- Integrace cloudového podepisování kódu s BitBucket
- Cloudová automatizace podepisování kódu se službami CI/CD
Potřebujete vlastní řešení?
S našimi odbornými znalostmi a pětihvězdičkovým podpůrným personálem jsme připraveni a ochotni s vámi spolupracovat na vlastních řešeních nebo slevách na velkoobjemové podpisy na podnikové úrovni. Vyplňte formulář níže a my se vám ozveme.