variáveis ambientais
- NOME DE USUÁRIO: nome de usuário da conta SSL.com. (Requeridos)
- SENHA: Senha da conta SSL.com (obrigatório)
- CREDENTIAL_ID: ID da credencial para assinatura do certificado. Se credential_id for omitido e o usuário tiver apenas um certificado de assinatura de código eSigner, o CodeSignTool usará como padrão. Se o usuário tiver mais de um certificado de assinatura de código, esse parâmetro é obrigatório. (Requeridos)
- TOTP_SECRET: OAuth TOTP Secret. Você pode acessar informações detalhadas sobre https://www.ssl.com/how-to/automate-esigner-ev-code-signing (Obrigatório)
- AMBIENTE_NAME : Ambiente 'TEST' ou 'PROD'. (Requeridos)
entradas
- caminho_do_arquivo_de_entrada: Caminho do objeto de código a ser assinado. (Requeridos)
- saída_dir_caminho: Diretório onde o(s) objeto(s) de código assinado(s) será(ão) escrito(s). Se output_path for omitido, o arquivo especificado em -file_path será substituído pelo arquivo assinado.
Fluxo de trabalho de exemplo de assinatura JAR de código Java (Maven)
Criar um projeto
Sob o projeto, crie um arquivo para Travis
Defina os componentes do fluxo de trabalho
- Coloque a arquitetura de CPU para executar o trabalho
arco: amd64
- Idioma padrão para executar testes em
idioma: java
- Especifique o sistema operacional para executar o trabalho
SO: linux
- Escreva a distribuição Ubuntu que será usada
dist: biônico
- Defina variáveis de ambiente globalmente. A propriedade de nível de trabalho substitui as variáveis globais.
- Observe que TERM=dumb é necessário apenas para instâncias de projeto Gradle.
- Em ENVIRONMENT_NAME, coloque "TEST" para assinatura de teste e "PROD" para assinatura ao vivo.
ambiente:
global:
– PROJECT_NAME=”Olá Mundo”
– PROJETO_VERSÃO=”0.0.1″
– TERMO=burro
– ENVIRONMENT_NAME="TESTE"
- Especifique a ordem das etapas. Todos os trabalhos em um estágio devem ser concluídos antes que o próximo estágio seja executado.
estágios:
- construir
- sinal
Descreva o estágio de construção
empregos:
incluem:
- fase: construir
- O nome do trabalho
nome: build-maven
- A distribuição Ubuntu a ser usada
dist: biônico
- Use o comando docker para assinar
Serviços:
– janela de encaixe
- Use dotnet-cli para construir o projeto
idioma: java
- Versão Java para construir o projeto
jdk:
– oraclejdk17
- Diretório de cache m2 para acelerar
cache:
diretórios:
– $CASA/.m2
- Escreva o script Before para ser executado antes de construir o projeto
script_antes:
# Cria diretórios para artefatos
– mkdir -p ${TRAVIS_BUILD_DIR}/artefatos
– mkdir -p ${TRAVIS_BUILD_DIR}/pacotes
# Defina as opções de compilação do Maven
– exportar MAVEN_CLI_OPTS=”–modo em lote –errors –fail-at-end –show-version -DinstallAtEnd=true -DdeployAtEnd=true”
- Escreva o script para construir o projeto.
- Neste fluxo de trabalho de exemplo de assinatura, vários tipos de projeto foram criados. É por isso que arquivos de diferentes tipos de projeto foram mantidos criando subpastas. Uma subpasta chamada 'java' foi criada para projetos Java. Na captura de tela de demonstração acima, não havia necessidade de criar uma subpasta chamada 'java', então isso não foi incluído no script.
script:
# Construa o projeto Maven com as opções do Maven
– mvn $MAVEN_CLI_OPTS instalação limpa -f java/pom.xml
# Copie os artefatos construídos para o diretório de artefatos
– cp java/target/${PROJECT_NAME}-${PROJECT_VERSION}.jar ${TRAVIS_BUILD_DIR}/packages/${PROJECT_NAME}.jar
- Descreva como especificar uma lista de arquivos e diretórios que devem ser anexados ao trabalho se for bem-sucedido.
espaços de trabalho:
crio:
nome: maven-jar-artefatos
caminhos:
# Salva o artefato para usar o trabalho de assinatura
– ${TRAVIS_BUILD_DIR}/pacotes/${PROJECT_NAME}.jar
Delineie o estágio de sinalização
– palco: sinal
- Escreva o nome do trabalho
nome: sign-jar-file
- Coloque a distribuição do Ubuntu para usar
dist: biônico
- Use o comando Docker para assinar
Serviços:
– janela de encaixe
- Defina variáveis de ambiente para trabalhos específicos.
- Na captura de tela acima, o comando sign foi definido diretamente no script sign e não nas variáveis de ambiente. Both métodos podem assinar corretamente com o TravisCI.
ambiente:
COMANDO=”sinal”
- Use dotnet-cli para construir o projeto
idioma: java
- Versão Java para construir o projeto
jdk:
– oraclejdk17
- Antes do script ser executado antes de construir o projeto
script_antes:
# Cria diretórios para artefatos
– mkdir -p ${TRAVIS_BUILD_DIR}/artefatos
– mkdir -p ${TRAVIS_BUILD_DIR}/pacotes
- Script para construir o projeto
script:
# Docker Pull CodeSigner Imagem Docker
– docker pull ghcr.io/sslcom/codesigner:latest
# Assine o artefato com a imagem do CodeSigner Docker
– docker run -i –rm –dns 8.8.8.8 –host de rede –volume ${TRAVIS_BUILD_DIR}/packages:/codesign/examples
–volume ${TRAVIS_BUILD_DIR}/artefatos:/codesign/output
-e NOME DE USUÁRIO=${NOME DE USUÁRIO} -e SENHA=${SENHA} -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/saída
- Usado para especificar uma lista de arquivos e diretórios que devem ser anexados ao trabalho se for bem-sucedido.
espaços de trabalho:
usar:
– maven-jar-artefatos
crio:
nome: arquivo jar assinado
caminhos:
# Salvar artefato assinado
–${TRAVIS_BUILD_DIR}/artifacts/${PROJECT_NAME}.jar
Definir as variáveis de ambiente
Vá para Travis e clique no botão Configurações botão
Adicione o valor para cada variável
Desloque-se até o variáveis ambientais seção e clique no botão Adicionar para adicionar o valor para cada variável
Criar um repositório do Github
Procure os comandos push no Github
Escreva os comandos push em um terminal em seu editor
Aguarde a conclusão do trabalho de compilação
No Travis, o trabalho de construção deve iniciar automaticamente depois que você enviar o código.
Inicie o estágio de assinatura de código
Clique na assinar seção para Ferramenta CodeSign para iniciar o processo de assinatura
Aguarde até que sua máquina virtual termine de inicializar
Confirme se a assinatura do código foi bem-sucedida
Exemplo de pipeline Travis CI
Confira o exemplo de pipeline Travis CI que criamos em github.com/SSLcom/codesigner-travisci-sampleOutros guias de integração de assinatura remota de serviço CI/CD
- Integração de assinatura de código em nuvem com CircleCI
- Integração do Cloud Code Signing com ações do GitHub
- Integração do Cloud Code Signing com GitLab CI
- Integração do Cloud Code Signing com Jenkins CI
- Integração de assinatura de código em nuvem com Azure DevOps
- Integração de assinatura de código de nuvem com BitBucket
- Automação de assinatura de código em nuvem com serviços de CI/CD
Precisa de soluções personalizadas?
Com nosso conhecimento especializado e equipe de suporte cinco estrelas, estamos prontos e dispostos a trabalhar com você em soluções personalizadas ou descontos em assinaturas de alto volume de nível empresarial. Preencha o formulário abaixo e entraremos em contato.