Use jenkins para construir um sistema de publicação automatizado para construir jenkins

Use jenkins para construir um sistema de publicação automatizado para construir jenkins

Perspectiva DevOps de Niu Hengbo

instalação de Jenkins

instalação


Defina o diretório jenkins Defina jenkins em catalina.sh


$ export CATALINA_OPTS="-DJENKINS_HOME=/path/to/jenkins_home/ -Xmx512m"
$ catalina.sh start

Definir jenkins nas variáveis ​​de ambiente do Linux


$ export JENKINS_HOME=/path/to/jenkins_home/
$ catalina.sh start

Defina Jenkins-home no contexto


<Context ...>
  <Environment name="JENKINS_HOME" value="/path/to/jenkins_home/" type="java.lang.String"/>
</Context>

Instalação e inicialização



wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war
java -jar jenkins.war
http://localhost:8080

Use jenkins para construir um sistema de publicação automatizado para construir jenkins

Instale plugins comuns


Escolha instalar

Use jenkins para construir um sistema de publicação automatizado para construir jenkins
iniciar a instalação


Use jenkins para construir um sistema de publicação automatizado para construir jenkins
Após a conclusão da instalação do plug-in, comece a configurar o nome de usuário e a senha do administrador. Comece a usar Jenkins
Use jenkins para construir um sistema de publicação automatizado para construir jenkins
Use jenkins para construir um sistema de publicação automatizado para construir jenkins

Altere o diretório inicial de Jenkins


O caminho padrão do diretório inicial jenkins é /root/.jenkins/ path. Dependendo do método de inicialização, o método de modificação é ligeiramente diferente.

1. Inicie java -jar jenkins.war diretamente da linha de comando


cat >>/etc/profile<<EOF
export JENKINS_HOME=/data/db/jenkins/
EOF
source  /etc/profile

2. Comece com o contêiner Tomcat


vim /data/app/tomcat/bin/catalina.sh
export JENKINS_HOME=/data/db/jenkins/
# OS specific support.  $var _must_ be set to either true or false.

3. Modifique o pacote jenkins.war (não recomendado)


vim jenkins /web.xml
  <!-- if specified, this value is used as the Hudson home directory -->
  <env-entry>
    <env-entry-name>HUDSON_HOME</env-entry-name>
    <env-entry-type>java.lang.String</env-entry-type>
    <env-entry-value>/data/db/jenkins/</env-entry-value> #填入路径
  </env-entry>

Comece a instalar o plugin


Plug-ins são os mais comumente usados ​​em jenkins, então começamos instalando plug-ins.

método um

Caminho: Gerenciamento do sistema -> Gerenciar plug-ins, comece a instalar os plug-ins.

  • Plug-in de pipeline de construção: Plug-in de configuração de processo de construção.
  • Plug-in Gitlab: plug-in pull do gitlab.
  • Plug-in do Gitlab Hook: plug-in do Gitlab Hook.
  • Build Authorization Token Root Plugin: Plug-in de verificação de autorização do usuário.
  • SonarQube Scanner para Jenkins: plug-in de gerenciamento de qualidade de código.
  • Plugin de acionamento remoto parametrizado: plug-in de acionamento remoto.
  • AnsiColor (opcional): este plug-in pode fazer com que a saída do log pelo console Jenkins seja colorida (assim como o console Linux)
  • Plugin de integração Maven
  • Plug-in de parâmetro de escolha estendida: interface gráfica para configurar parâmetros de múltipla escolha
    Use jenkins para construir um sistema de publicação automatizado para construir jenkins

    Método Dois

Upload de plugin Jenkins-plugin management-advanced-upload plugin

Use jenkins para construir um sistema de publicação automatizado para construir jenkins

Método Três

Faça upload diretamente para o diretório do arquivo (de acordo com o caminho do arquivo de senha acima, você pode saber que o diretório jenkins está em /root/.jenkins/) /root/.jenkins/plugins restart Jenkins

Crie um processo de construção


Insira o nome do projeto - escolha construir um projeto de software de estilo livre

Use jenkins para construir um sistema de publicação automatizado para construir jenkins

Configurar endereço de download de origem

Use jenkins para construir um sistema de publicação automatizado para construir jenkins

Adicione a chave de autenticação do gitlab, configure a chave privada do ssh aqui

Use jenkins para construir um sistema de publicação automatizado para construir jenkins

Adicione a chave pública de ssh-key no gitlab

Use jenkins para construir um sistema de publicação automatizado para construir jenkins

Configure o processo de construção

Use jenkins para construir um sistema de publicação automatizado para construir jenkins
Há um ponto a ser observado aqui. Por exemplo, o que devemos fazer se quisermos executar scripts relacionados em uma máquina remota?

Um princípio: durante a execução do jenkins, o usuário que usa o jenkins está executando.
Dois métodos:

  • Todos os servidores fazem login sem chave com jenkins.
  • A raiz de todos os servidores faz um login sem chave.
    É recomendável usar o segundo tipo, porque o script publicado pode envolver problemas de permissão. Se você usar jenkins, pode haver permissões insuficientes.

a melhor solução


sudo ssh -p 52113 [email protected] "/data/scripts/web-deploy.sh"

Executar compilar agora - visualizar a saída do console

Use jenkins para construir um sistema de publicação automatizado para construir jenkins
explicar:

Jenkins irá clonar em / workspace de jenkins.


[root@linux-node1 web-build16:29:46]#pwd 
/root/.jenkins/workspace/web-build
[root@linux-node1 web-build16:29:56]#ls -a 
.  ..  .git  index.html  README.md
[root@linux-node1 web-build16:29:58]#
[root@linux-node1 web-build16:31:49]#cat /tmp/1.txt 
2017-03-01

Aguarde o próximo artigo: Gerenciamento de qualidade de código de sonar

Acho que você gosta

Origin blog.51cto.com/15127511/2658078
Recomendado
Clasificación