Como você que ama programar!
Aprenda cursos práticos SpringBoot https://edu.csdn.net/course/detail/31433
Aprenda cursos introdutórios SpringCloud https://edu.csdn.net/course/detail/31451
Visão geral
Este artigo irá apresentar o processo de uso do Jenkins para implantar um projeto SpringBoot. O projeto é salvo no Github. Depois que o código é enviado, o projeto pode extrair o código automaticamente, compilá-lo e implantá-lo automaticamente por meio do Jenkins.
Configuração Jenkins
O arquivo de configuração do Jenkins está em / etc / sysconfig / jenkins.
Observe que a seguinte configuração não é necessária, dependendo das necessidades pessoais.
Modifique o usuário do Jenkins para root, que terá maiores direitos de acesso e conveniente de usar
Modificou a porta.A porta padrão 8080 está sujeita a conflitos.
Catálogo Jenkins
Apresente o diretório Jenkins,
o diretório principal do Jenkins em / var / lib / jenkins usado no script de construção
:
Diretório de empregos criado por empregos- logs
armazenar logs - nós nós
implantados
diretório de plugins
diretório de chaves secrets- O espaço de trabalho
construído pelo projeto de espaço de trabalho
Instalar plugin
Clique em Gerenciar Jenkins>
Plug-ins de gerenciamento para pesquisar plug-ins nos plug-ins opcionais e reinicie o Jenkins após a
instalação. Os plug-ins de integração Git e Maven precisam ser instalados
Configuração de webhook
1) Vá para o warehouse do projeto Github e adicione Webhooks a Webhooks nas configurações
2) Configure o seguinte
IP e porta no URL de carga útil para ser o endereço do Jenkins
3) Adicionar credenciais
Na configuração pessoal do Gibhub, clique em Configuração do desenvolvedor
Adicione um token e
verifique as permissões abaixo para
copiar a chave secreta gerada. Você precisará dela mais tarde
Crie uma tarefa de implantação
1) Crie um novo projeto Maven
2) Adicione uma descrição do projeto, você pode escolher descartar a compilação antiga para economizar espaço em disco
3) Adicione o endereço do repositório Git no gerenciamento do código-fonte
Quando o projeto for implantado, o código mais recente irá ser extraído do git
4) Em seguida, credenciais Adicionar credenciais, aqui está a conta e senha do Github
5) Acionadores de compilação, o primeiro é acionado após a versão do instantâneo ser compilada e o segundo é acionado por Webhook após enviar o código.
6) Selecione Use o texto secreto no ambiente de construção e clique em Texto secreto, Adicionar credenciais de texto secreto e
preencher a chave secreta gerada pelo GitHub
7) Pré-etapas
adicionar uma linha de comando, pular o teste
8) Pós-etapas de
entrada de script de
shell Este script de shell é o foco da implantação.
Observação: neste caso, tanto o Jenkins quanto os projetos de implantação no mesmo servidor.
Primeiro, crie o diretório jenkins / oa em / usr / local do servidor como o diretório para o projeto de implantação
#!/bin/bash
# 切换到部署目录
cd /usr/local/jenkins/oa
echo "Stopping SpringBoot Application"
# 查找到之前jar文件运行的pid,干掉之前的进程
pid=`ps -ef | grep oa-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
kill -9 $pid
fi
# 从jenkins的workspace中把刚生成的jar文件覆盖oa目录下原来的jar文件
mv /var/lib/jenkins/workspace/DeployOA/target/oa-0.0.1-SNAPSHOT.jar /usr/local/jenkins/oa/oa-0.0.1-SNAPSHOT.jar
# 重新运行新的jar文件
BUILD_ID=dontKillMe nohup java -jar /usr/local/jenkins/oa/oa-0.0.1-SNAPSHOT.jar &
9) A caixa de correio pode ser configurada nas configurações de construção, e uma notificação por e-mail será enviada após a construção.
Finalmente salve a tarefa e a configuração estará concluída
Teste de implantação do projeto
Adicione um código de teste simples ao projeto original
@RestController
public class HelloController
{
@GetMapping("/hello")
public String hello(){
return "Hello Jenkins!!";
}
}
Envie o código para o Github e
clique na tarefa de compilação recém-criada. No histórico de compilação no canto inferior esquerdo, você pode ver o status da compilação mais recente. Clique na saída do console. A
saída do console pode ver a execução do script de shell e o status final
. O efeito é o último código enviado
Fim
O acima registra o processo de uso do Jenkins para implantar automaticamente o projeto SpringBoot. No futuro, haverá novos ganhos e serão registrados nas postagens do blog e aprenderão com todos.
Se você achar útil, assim como ele. Se você tiver alguma dúvida, pode conversar.
Se você precisa aprender outro conhecimento Java, dê uma olhada aqui no conhecimento ultra-detalhado de Java Resumo