SSL.com

Integração do Cloud Code Signing com o Travis CI

Este artigo mostra como você pode executar a assinatura de código automatizada no Travis CI integrando o eSigner CodeSignTool ao seu pipeline.  eSigner é nossa plataforma de assinatura remota de código que oferece o mesmo nível de segurança que tokens USB e HSMS em rede, mas de maneira mais eficiente e intuitiva.  Parte do kit de ferramentas eSigner é o CodeSignTool: um utilitário de linha de comando seguro que é ideal para executar assinatura de código corporativo em vários ambientes de CI/CD, incluindo Travis.
SSL.com's EV Assinatura de código certificados ajudam a proteger seu código contra adulteração e comprometimento não autorizados com o mais alto nível de validação e estão disponíveis por apenas $ 249 por ano. Você também pode use seu certificado de assinatura de código EV em escala na nuvem usando eSigner.

PEÇA AGORA

variáveis ​​ambientais

entradas

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

  1. Coloque a arquitetura de CPU para executar o trabalho

arco: amd64

  1. Idioma padrão para executar testes em

idioma: java

  1. Especifique o sistema operacional para executar o trabalho

SO: linux

  1. Escreva a distribuição Ubuntu que será usada

dist: biônico

  1. Defina variáveis ​​de ambiente globalmente. A propriedade de nível de trabalho substitui as variáveis ​​globais.

ambiente:

  global:

    – PROJECT_NAME=”Olá Mundo”

    – PROJETO_VERSÃO=”0.0.1″

    – TERMO=burro

    – ENVIRONMENT_NAME="TESTE"

  1. 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

  1. O nome do trabalho

      nome: build-maven

  1. A distribuição Ubuntu a ser usada

      dist: biônico

  1. Use o comando docker para assinar  

      Serviços:

        – janela de encaixe

  1. Use dotnet-cli para construir o projeto

      idioma: java

  1. Versão Java para construir o projeto

      jdk:

      – oraclejdk17

  1. Diretório de cache m2 para acelerar

      cache:

        diretórios:

        – $CASA/.m2

  1. 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”

  1. Escreva o script para construir o projeto.

      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

     

  1. 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

  1. Escreva o nome do trabalho

      nome: sign-jar-file

  1. Coloque a distribuição do Ubuntu para usar

      dist: biônico

  1. Use o comando Docker para assinar  

      Serviços:

        – janela de encaixe

     

  1. Defina variáveis ​​de ambiente para trabalhos específicos.

      ambiente:

        COMANDO=”sinal”

  1. Use dotnet-cli para construir o projeto

      idioma: java

  1. Versão Java para construir o projeto

      jdk:

      – oraclejdk17

  1. 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

     

  1. 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

  1. 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

SSL.com's EV Assinatura de código certificados ajudam a proteger seu código contra adulteração e comprometimento não autorizados com o mais alto nível de validação e estão disponíveis por apenas $ 249 por ano. Você também pode use seu certificado de assinatura de código EV em escala na nuvem usando eSigner.

PEÇA AGORA

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

Você pode consultar o SSL.com Repositório Github que contém os códigos-fonte da imagem do docker e descreve como usá-lo: https://github.com/SSLcom/ci-images

Exemplo de pipeline Travis CI

Confira o exemplo de pipeline Travis CI que criamos em github.com/SSLcom/codesigner-travisci-sample

Outros guias de integração de assinatura remota de serviço 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.

Sair da versão móvel