variabili ambientali
- USERNAME: nome utente dell'account SSL.com. (Necessario)
- PASSWORD: password dell'account SSL.com (richiesto)
- CREDENZIALE_ID: ID credenziale per la firma del certificato. Se credential_id viene omesso e l'utente dispone di un solo certificato di firma del codice eSigner, CodeSignTool verrà impostato automaticamente su quello. Se l'utente ha più di un certificato di firma del codice, questo parametro è obbligatorio. (Necessario)
- TOTP_SEGRETO: Segreto TOTP OAuth. È possibile accedere a informazioni dettagliate su https://www.ssl.com/how-to/automate-esigner-ev-code-signing (Obbligatorio)
- NOME_AMBIENTE : Ambiente 'TEST' o 'PROD'. (Necessario)
ingressi
- percorso_file_input: Percorso dell'oggetto codice da firmare. (Necessario)
- output_dir_percorso: Directory in cui verranno scritti gli oggetti codice firmato. Se output_path viene omesso, il file specificato in -file_path verrà sovrascritto con il file firmato.
Codice Java (Maven) Flusso di lavoro di esempio di firma JAR
Crea un progetto
Sotto il progetto, crea un file per Travis
Definire i componenti del flusso di lavoro
- Posizionare l'architettura della CPU su cui eseguire il lavoro
arco: amd64
- Lingua predefinita in cui eseguire i test
lingua: java
- Specificare il sistema operativo su cui eseguire il lavoro
sistema operativo: linux
- Scrivi la distribuzione Ubuntu che verrà utilizzata
dist: bionico
- Definire le variabili d'ambiente a livello globale. La proprietà a livello di lavoro ha la precedenza sulle variabili globali.
- Tieni presente che TERM=dumb è necessario solo per le istanze del progetto Gradle.
- In ENVIRONMENT_NAME, inserisci "TEST" per la firma del test e "PROD" per la firma dal vivo.
ambiente:
globale:
– PROJECT_NAME="HelloWorld"
– VERSIONE_PROGETTO=”0.0.1″
– TERM=stupido
– NOME_AMBIENTE=”PROVA”
- Specificare l'ordine delle fasi. Tutti i lavori in una fase devono essere completati prima dell'esecuzione della fase successiva.
fasi:
- costruire
- cartello
Delinea la fase di costruzione
lavori:
includono:
– fase: costruire
- Il nome del lavoro
nome: build-maven
- La distribuzione Ubuntu da usare
dist: bionico
- Usa il comando Docker per la firma
servizi:
– Docker
- Usa dotnet-cli per costruire il progetto
lingua: java
- Versione Java per costruire il progetto
JDK:
– oraclejdk17
- Cache m2 directory per accelerare
Cache:
directory:
– $CASA/.m2
- Scrivere lo script Before da eseguire prima di creare il progetto
prima_script:
# Crea directory per gli artefatti
– mkdir -p ${TRAVIS_BUILD_DIR}/artefatti
– mkdir -p ${TRAVIS_BUILD_DIR}/pacchetti
# Imposta le opzioni di build di Maven
– export MAVEN_CLI_OPTS=”–batch-mode –errors –fail-at-end –show-version -DinstallAtEnd=true -DdeployAtEnd=true”
- Scrivi lo script per costruire il progetto.
- In questo flusso di lavoro di esempio di firma sono stati creati più tipi di progetto. Questo è il motivo per cui i file di diversi tipi di progetto sono stati conservati creando delle sottocartelle. Per i progetti Java è stata creata una sottocartella denominata 'java'. Nello screenshot della demo sopra, non era necessario creare una sottocartella denominata "java", quindi questa non era inclusa nello script.
sceneggiatura:
# Costruisci il progetto Maven con le opzioni Maven
– mvn $MAVEN_CLI_OPTS installazione pulita -f java/pom.xml
# Copia gli artefatti creati nella directory degli artefatti
– cp java/target/${PROJECT_NAME}-${PROJECT_VERSION}.jar ${TRAVIS_BUILD_DIR}/packages/${PROJECT_NAME}.jar
- Descrivere come specificare un elenco di file e directory che devono essere allegati al lavoro se ha esito positivo.
spazi di lavoro:
creare:
nome: maven-jar-artefacts
percorsi:
# Salva artefatto per utilizzare il lavoro di firma
– ${TRAVIS_BUILD_DIR}/pacchetti/${NOME_PROGETTO}.jar
Delinea la fase del segno
– stadio: segno
- Scrivi il nome del lavoro
nome: sign-jar-file
- Posiziona la distribuzione Ubuntu da usare
dist: bionico
- Usa il comando Docker per la firma
servizi:
– Docker
- Definire le variabili di ambiente per lavori specifici.
- Nello screenshot sopra, il comando sign è stato definito direttamente nello script sign e non nelle variabili di ambiente. BOTH metodi possono firmare correttamente con TravisCI.
ambiente:
COMANDO=”segno”
- Usa dotnet-cli per costruire il progetto
lingua: java
- Versione Java per costruire il progetto
JDK:
– oraclejdk17
- Prima dello script da eseguire prima della creazione del progetto
prima_script:
# Crea directory per gli artefatti
– mkdir -p ${TRAVIS_BUILD_DIR}/artefatti
– mkdir -p ${TRAVIS_BUILD_DIR}/pacchetti
- Script per costruire il progetto
sceneggiatura:
# Docker Pull CodeSigner Docker Immagine
– docker pull ghcr.io/sslcom/codesigner:latest
# Firma artefatto con l'immagine Docker CodeSigner
–docker run -i –rm –dns 8.8.8.8 –host di rete –volume ${TRAVIS_BUILD_DIR}/packages:/codesign/examples
–volume ${TRAVIS_BUILD_DIR}/artifacts:/codesign/output
-e USERNAME=${USERNAME} -e PASSWORD=${PASSWORD} -e CREDENZIAL_ID=${CREDENTIAL_ID} -e TOTP_SECRET=${TOTP_SECRET}
-e NOME_AMBIENTE=${NOME_AMBIENTE} ghcr.io/sslcom/codesigner:latest ${COMMAND}
-input_file_path=/codesign/examples/${NOME_PROGETTO}.jar -output_dir_path=/codesign/output
- Utilizzato per specificare un elenco di file e directory che devono essere allegati al lavoro in caso di esito positivo.
spazi di lavoro:
uso:
– artefatti di maven-jar
creare:
nome: file jar firmato
percorsi:
# Salva artefatto firmato
– ${TRAVIS_BUILD_DIR}/artefatti/${NOME_PROGETTO}.jar
Definire le variabili d'ambiente
Vai su Travis e fai clic su Impostazioni profilo pulsante
Aggiungi il valore per ogni variabile
Scorri verso il basso fino a variabili ambientali sezione e fare clic sul pulsante Aggiungi per aggiungere il valore per ciascuna variabile
Crea un repository Github
Cerca i comandi push su Github
Scrivi i comandi push su un terminale del tuo editor
Attendi il completamento del lavoro di compilazione
Su Travis, il processo di compilazione dovrebbe avviarsi automaticamente dopo aver inviato il codice.
Avvia la fase di firma del codice
Clicca su segno sezione per CodeSignTool per avviare il processo di firma
Attendi che la tua macchina virtuale termini l'avvio
Conferma se la firma del codice ha esito positivo
Esempio Travis CI Pipeline
Dai un'occhiata alla pipeline Travis CI di esempio che abbiamo creato github.com/SSLcom/codesigner-travisci-sampleAltre guide all'integrazione della firma remota del servizio CI/CD
- Integrazione della firma del codice cloud con CircleCI
- Integrazione della firma del codice cloud con le azioni GitHub
- Integrazione Cloud Code Signing con GitLab CI
- Integrazione della firma del codice cloud con Jenkins CI
- Integrazione della firma del codice cloud con Azure DevOps
- Integrazione della firma del codice cloud con BitBucket
- Automazione della firma del codice cloud con servizi CI/CD
Hai bisogno di soluzioni personalizzate?
Con la nostra conoscenza esperta e il personale di supporto a cinque stelle, siamo pronti e disposti a lavorare con te su soluzioni personalizzate o sconti per firme di alto volume a livello aziendale. Compila il modulo sottostante e sarai ricontattato.