Às vezes, você pode querer conectar máquinas diferentes durante o build de um projeto. Por exemplo, para acionar um script de implantação em uma máquina remota via SSH.
Vamos aprender como isso é feito.
O Secure Shell (SSH) é amplamente usado para várias finalidades, devido à sua segurança, versatilidade e eficiência. Estes são vários dos motivos para usar o SSH.
Acesse Edit configuration | Build Steps para dar uma olhada rápida nas etapas de build.
Imagine que você deseja adicionar uma etapa de build em linha de comando que executa uma implantação. Para fazer isso, o TeamCity se conecta a um servidor remoto via SSH e executa alguns comandos nesse servidor, por exemplo, para baixar um arquivo do Amazon S3 e executá-lo. Para que a conexão SSH funcione, você precisa especificar uma chave SSH.
A questão aqui é: como a chave SSH chega ao seu agente de build se não estiver pré-integrada na imagem do seu agente?
O que queremos fazer é nos livrar da etapa de build em linha de comando. Para fazer isso, clique no menu suspenso Runner type. Aqui, você verá duas opções: SSH Exec e SSH Upload.
SSH Exec é conveniente para quando você deseja executar algo em uma máquina remota. SSH Upload ajuda você a carregar arquivos com segurança em um servidor.
Vamos escolher a opção SSH Exec e adicionar o destino e os comandos para o executor.
Aqui, em Authentication method, você tem algumas opções para escolher de onde vem sua chave SSH.
Uploaded key: a chave é carregada no servidor do TeamCity. O servidor irá criptografá-la, enviá-la ao agente de build para fazer o build e depois excluí-la quando o build terminar.
Default private key e Custom private key: escolha essa opção se você tiver uma chave privada padrão pré-instalada em locais específicos no seu agente de build.
Você também pode escolher uma combinação de nome de usuário/senha ou até mesmo ter um agente SSH em execução. Leia mais sobre SSH Exec na nossa documentação.
Neste tutorial, escolheremos a opção Uploaded key. Definiremos o nome de usuário como teamcity-deploy e pularemos a configuração da senha. Em seguida, prosseguiremos e carregaremos a chave SSH.
Para carregar a chave SSH, vamos acessar Buildpipelines project | SSH Keys. Depois disso, selecionaremos a chave privada do nosso servidor. Clique em Upload SSH Key e selecione um arquivo do seu computador.
Depois disso, volte para Build steps | SSH Exec e selecione a chave privada que você acabou de carregar. Depois clique em Save e execute o build.
Quando o build terminar, abra Build Log, e você verá a saída da etapa de build SSH Exec. Aqui, podemos ver que o TeamCity executou o comando que você inseriu na configuração da etapa de build. Ele também mostrará o resultado do comando echo ‘running deploy.sh...’
.
E isso é tudo!
Este tutorial mostra como usar o TeamCity para executar os scripts de linha de comando que são a base essencial dos seus pipelines de build.
Neste tutorial, veremos mais de perto como trabalhar com artefatos no TeamCity para obter dados de seus builds.
O TeamCity reúne vários recursos que vão turbinar seus builds. Neste tutorial, vamos explorar como usar executores específicos e por que é interessante usá-los.