Índice
5. Verifique o empacotamento automático e os resultados da implantação do Jenkins
O princípio de funcionamento do Jenkins é primeiro copiar o código-fonte do sistema de controle de versão SVN/Git para o local e, em seguida, chamar o Maven para construir de acordo com o script definido. A chave para todo o sistema é o script de construção, que informa ao Jenkins as tarefas que precisam ser executadas em uma integração.
ambiente de laboratório
sistema operacional |
endereço de IP |
Nome da CPU |
Papel |
CentOS 7.5 |
192.168.200.111 |
idiota |
servidor git |
CentOS 7.5 |
192.168.200.112 |
Cliente git Jenkins |
servidor jenkins |
CentOS 7.5 |
192.168.200.113 |
gato |
servidor web |
Desligue o firewall e o selinux em todos os hosts
[root@localhost ~]# systemctl parar firewalld
[root@localhost ~]# iptables -F
[root@localhost ~]# setenforce 0
1. Configure o host git
# rpm instalação dependências de instalação: 1 e 2 estão instalados
[root@gitclient ~]# yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel [Algumas dependências podem estar faltando, como c++, que pode ser instalado conforme necessário]
# Compile e instale — servidor e cliente, visite https://mirrors.edge.kernel.org/pub/software/scm/git/ para baixar a versão necessária
Primeiro rz importe o pacote git2.22
[root@gitclient ~]# tar xf git-2.22.0.tar.gz -C /usr/src/
[root@gitclient ~]#cd /usr/src/git-2.22.0/
[root@git git-2.22.0]# make configure [Esta etapa pode solicitar o seguinte yum -y install para instalá-lo]
[root@git git-2.22.0]# yum -y install gcc-c++ [Instalar dependências c++]
[root@git git-2.22.0]# ./configure --prefix=/usr/local/git && make && make install
[root@git git-2.22.0]# ln -sf /usr/local/git/bin/git /usr/bin/
[root@git git-2.22.0]# git --version
#Configure usuários no servidor git [primeiro]
[root@git ~]#useradd git
[root@git ~]# echo "123456" | senha --stdin git
[root@git ~]# echo "123456" | senha --stdin git
Criar uma sonda de armazém local
[root@git ~]#su - git
Último login: quinta-feira, 20 de junho 09:46:10 CST 2019pts/0
[git@git ~]$ mkdir sonda.git
[git@git ~]$ cd probe.git
[git@git probe.git]$ git --bare init
Inicialize um repositório Git vazio em /home/git/probe.git/
[git@git probe.git]$ saída
[root@git ~]# rz #Carregar psi-probe.tar.gz
[root@git ~]# tar xf psi-probe.tar.gz
[root@git ~]# git clone [email protected]:/home/git/probe.git
[root@git ~]# cp -rf psi-probe/* probe/
[root@git ~]#cd probe/
[root@git probe]# git add .
[root@git probe]# git config --global user.email "[email protected]"
[root@git probe]# git config --global user.name "jialiang"
[root@git probe]# git commit -m "all probe"
[root@git probe]# git push origin master
2. Configure o host Jenkins
Adicionar credenciais de verificação: você pode adicionar as credenciais aqui ou não. Este teste não envolve credenciais.
"Adicionar credenciais".
Após preencher os dados acima, clique em "OK" para visualizar a conta de host remoto recém-adicionada.
Adicionar host remoto de publicação por SSH
Clique em "Gerenciar Jenkins" -> "Configurar sistema" -> "Publicar sobre SSH" -> "Servidores SSH" -> botão de opção "Adicionar" na página inicial do Jenkins para adicionar um host remoto SSH. Conforme mostrado na Figura 3.13, após inserir as informações necessárias como Nome, Nome do host, Nome de usuário, etc., clique no botão de opção "Avançado" -> Marque a opção "Usar autenticação por senha ou use uma chave diferente" -> Insira a opção "Remoto senha de login do host" -> "Configuração de teste" testa a configuração do host remoto. Após testar com sucesso a configuração do host remoto, clique no botão "Salvar".
Configurar ambientes Maven, JDK e Git
Na página inicial do Jenkins, clique em "Gerenciar Jenkins" -> "Configuração global da ferramenta" -> "JDK" -> Adicionar "JDK" e defina o alias do JDK como "JDK1 7 " . Remova a opção "Instalar automaticamente" e defina "JAVA_HOME" como o caminho de instalação real do JDK neste caso.
/usr/local/java
Instale o maven no Jenkins
[root@jenkins ~]# tar xf apache-maven-3.5.0-bin.tar.gz
[root@jenkins ~]# mv apache-maven-3.5.0 /usr/local/maven-3.5.0
Alterar estação de espelho Alibaba Cloud para maven
[root@jenkins ~]# vim /usr/local/maven-3.5.0/conf/settings.xml
#Exclua tudo nos dois <espelhos>, cerca de 12 linhas, e adicione a seguinte estação de espelho Alibaba Cloud aos dois <espelhos>
<espelho>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</espelho>
efeito final
Encontre a opção de configuração do Maven na interface de configuração "Global Tool Configuration", clique em "Add Maven" e defina o alias como "Maven3.5".
Configuração do Git
[root@jenkins ~]# qual git
/usr/bin/git
Após a conclusão da configuração básica global acima, clique em Salvar para concluir.
3. Configure o host da web
[root@tomcat ~]# tar xf apache-tomcat-8.5.40.tar.gz
[root@tomcat ~]# tar xf jdk-8u191-linux-x64.tar.gz
[root@tomcat ~]#mv jdk1.8.0_191//usr/local/java
[root@tomcat ~]# mv apache-tomcat-8.5.40 /usr/local/tomcat
[root@tomcat ~]# vim /etc/profile
exportar JAVA_HOME=/usr/local/java/
exportar CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
exportar PATH=$JAVA_HOME/bin:$PATH
[root@tomcat ~]# source /etc/profile
[root@tomcat ~]# java -versão
versão java "1.8.0_191"
Java(TM) SE Runtime Environment (compilação 1.8.0_191-b12)
VM de servidor Java HotSpot(TM) de 64 bits (compilação 25.191-b12, modo misto)
Publique a chave pública no host Jenkins
[root@tomcat ~]#ssh-keygen
[root@tomcat ~]# ssh-copy-id 192.168.200.112
[Voltar para Jenkins]
O host Jenkins usa o usuário jenkins para se conectar ao git por padrão, então use o usuário jenkins para gerar um par de chaves e enviá-lo ao git.
[root@jenkins ~]# id jenkins
uid=988(jenkins) gid=982(jenkins) grupo=982(jenkins)
[root@jenkins ~]# su -s /bin/bash jenkins
bash-4.2$ ssh-keygen
bash-4.2$ ssh-cópia-id [email protected]
bash-4.2$ ssh [email protected] #Teste de login
bash-4.2$ saída
[root@jenkins ~]#ssh-keygen
[root@jenkins ~]# ssh-copy-id [email protected]
[root@jenkins ~]# ssh [email protected] #Teste de login
4. Crie um novo projeto Maven
Após a conclusão da configuração acima, retorne à página inicial do Jenkins, selecione "Nova tarefa", insira o nome da tarefa "sonda", selecione "Projeto Maven" e clique no botão "OK" na parte inferior da página atual.
Após clicar no botão "OK", selecione "Gerenciamento de código-fonte", selecione "Git" e configure "RepositoriesURL" como
[email protected]. 200.111 :/home/git/probe.git
Selecione "Construir"
pacote limpo -Dmaven.test.skip=true
Selecione "enviar artefatos de construção por SSH" em "Operações pós-compilação". O significado de executar o comando em "Comando Exec" é: encerrar o processo Tomcat antes da implantação automática, excluir o pacote war e usar o comando scp remote copy para empacotar automaticamente o Jenkins. Copie o pacote war do projeto bom para o diretório atual do aplicativo Tomcat. Em seguida, reinicie o Tomcat.
scp 192.168.200.112:/root/.jenkins/workspace/probe/psi-probe-web/target/probe.war /usr/local/tomcat/webapps/
/usr/local/tomcat/bin/startup.sh
Após todas as configurações acima serem concluídas, clique em Salvar. Em seguida, clique em "sonda" -> "Construir agora" que você acabou de criar até que o projeto seja compilado. O processo de construção pode ser visualizado na "Saída do Console".
5. Verifique o empacotamento automático e os resultados da implantação do Jenkins
Verifique no host da web se o diretório do probe foi copiado para o diretório /usr/local/tomcat/webapps
[root@tomcat ~]#ls /usr/local/tomcat/webapps/
[root@tomcat ~]#ls /usr/local/tomcat/webapps/probe -l
A julgar pelos resultados acima, Jenkins copiou o pacote de guerra de sondagem preparado.
Pode ser visto no comando de execução após a construção que o Tomcat foi reiniciado e o sistema de monitoramento da sonda de teste é acessado através do navegador. http://192.168.200.113:8080/sonda .
[root@tomcat ~]# vim /usr/local/tomcat/conf/tomcat-users.xml
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<usuário nome de usuário="tomcat" senha="tomcat" papéis="manager-gui,admin-gui"/>
</tomcat-users> # Adicione as três linhas acima antes desta linha
[root@tomcat ~]# vim /usr/local/tomcat/webapps/manager/META-INF/context.xml
<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
permitir="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->
Comente o acima
[root@tomcat ~]# /usr/local/tomcat/bin/shutdown.sh
[root@tomcat ~]# /usr/local/tomcat/bin/startup.sh
Neste ponto, o empacotamento e implantação automáticos do Jenkins estão concluídos