Combate CICD - usando Jenkins para alcançar implantação automatizada e isolamento de ambiente

Combate CICD - usando Jenkins para alcançar implantação automatizada e isolamento de ambiente

instalação

jdk

1. Verifique se o jdk está instalado

[root@10-0-59-231 data]# java -version # 查看是否安装jdk,没有则要安装
-bash: java: 未找到命令

2. Pesquise os pacotes disponíveis

yum search java |grep -i --color JDK

3. Instale o jdk

yum install java-1.8.0-openjdk* # 安装1.8 openjdk

4. Veja

java -version

#输出
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)

PS: yum configura automaticamente as variáveis ​​de ambiente, você pode / profile vim / etc Visualizar

Jenkins

1. Instale sob centos 7

yum install jenkins

2. Altere o número da porta padrão e o diretório de armazenamento do código git clone

vim /etc/sysconfig/jenkins
JENKINS_PORT="8088"             # 默认8080
JENKINS_HOME="/data/jenkins"    # 默认 /var/lib/jenkins
systemctl daemon-reload # 使得配置生效

3. Comece

systemctl restart jenkins # 重启
chkconfig jenkins on      # 开机启动

Configuração

1. Crie uma nova tarefa
2. Insira um nome e selecione o software de estilo livre.
Insira a descrição da imagem aqui
3. Geral, marque para descartar a construção antiga
Insira a descrição da imagem aqui

4. Configure o armazém de código. Usamos o gitlab, portanto, verifique o Git e cole o endereço do repositório de código, Credenciais, adicione um usuário com permissão.
Especificador de ramo: O padrão é extrair o código do mestre para compilar, geralmente lançamos é o lançamento, portanto, o ramo de lançamento é usado aqui.
Insira a descrição da imagem aqui

5. Crie gatilhos. Isso não precisa ser configurado, nem usado.
6. Construa o ambiente. Não usado temporariamente, ignore.
7. Construir. Clique em "Executar Shell" para chamar o script build.sh para completar a compilação do código-fonte, consulte a próxima seção para obter detalhes.
Insira a descrição da imagem aqui

8. Após a construção. Clique em “Send build artifacts over SSH” para publicar o pacote compilado na máquina remota via ssh, veja abaixo para detalhes.
Insira a descrição da imagem aqui

Construir

1. Construa o script.

cd ${WORKSPACE} && cd server/paas_build
chmod 777 build_db_proxy_server.sh
./build_db_proxy_server.sh
cd ../
echo 'tar ${pwd}/online.base.im/'
tar -czvf online.base.im.tar.gz online.base.im/

Insira a descrição da imagem aqui

Empacote e compacte aqui para facilitar a distribuição de cópias subsequente.

2. Teste a construção.
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui

Clique em Build Now para ver o progresso da compilação abaixo e clique novamente para ver os resultados específicos da compilação.
Insira a descrição da imagem aqui

distribuição

Adicionados servidores SSH

PS: Depois que o programa é compilado localmente, ele precisa ser copiado para a máquina de destino e executado para concluir todo o processo.
Clique em Gerenciamento do sistema -> Configurações do sistema e arraste-o para a parte inferior. Encontre servidores SSH e clique em Adicionar.
Insira a descrição da imagem aqui
Insira as informações relevantes, incluindo o Diretório remoto, que precisa ser criado com antecedência. É recomendado estar em diretórios como / data / apps. Este diretório representa o diretório raiz da cópia subsequente do arquivo para a máquina. Em seguida, clique em Senha de configurações avançadas e em "Testar configuração" para verificar se a configuração está correta.
Insira a descrição da imagem aqui
Se houver várias máquinas, adicione várias vezes.

Publicar script

1. Depois que a compilação for concluída, você precisará executar algumas ações de instalação por meio de scripts, clique em "Enviar artefatos de compilação por SSH".
2. Escolha um servidor. Comparado ao WorkSpace, meu pacote está localizado em server / online.base.im.tar.gz.
Insira a descrição da imagem aqui
Remover prefixo: o prefixo a ser removido, se não definido. Supondo que o diretório remoto definido pelos servidores SSH seja / data / webapps, o caminho após o pacote compactado ser copiado é: /data/webapps/server/online.base.im.tar.gz.
Comando Exec: o comando a ser executado. Defina o diretório de trabalho atual antes da execução, como cd / data / webapps.

Script anexado:

kill -9 $(pidof db_proxy_server) # 停止进程
sleep 5    # 等一会
cd /data/webapps/ 
# 备份原程序
mv online.base.imdbproxyserver.service online.base.imdbproxyserver.service.$(date "+%Y%m%d")${BUILD_NUMBER}
tar -zxvf online.base.im.tar.gz
rm -rf online.base.im.tar.gz
mv online.base.im online.base.imdbproxyserver.service
cd online.base.imdbproxyserver.service
cd db_proxy_server
mv libhiredis.so.0.13 libhiredis.so.0.12
ln -s /data/webconf/dbproxyserver.xml dbproxyserver.xml
cd ../
chmod 777 *.sh
./restart.sh db_proxy_server

reconstruir

Insira a descrição da imagem aqui

Neste momento, você deve continuar ajustando o script até que apareça uma bola azul, o que significa que tudo correu bem no meio sem erros. Então é alcançado:

  1. Extraia automaticamente o código mais recente do gitlab
  2. Compilar
  3. Implantar o cluster automaticamente

Dê uma olhada no efeito:
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
PS: Se você precisar publicar em várias máquinas, basta adicionar um Servidor SSH na seção "pós-construção".

sobre

CSDN sobre o autor
recomenda seu próprio IM de código aberto, escrito em Golang puro:

CoffeeChat :
https://github.com/xmcy0011/CoffeeChat
código aberto im com servidor (go) e cliente (flutter + swift)

Referido a projetos bem conhecidos, como TeamTalk e Guazi IM, incluindo servidor (go) e cliente (flutter + swift), funções de bate-papo único e robô (micro, Turing, Sizhi) foram concluídas e funções de bate-papo em grupo estão sendo atualmente desenvolvido, Bem-vindo amigos Star que estão interessados ​​em golang e desenvolvimento de plataforma cruzada de tecnologia de vibração para prestar mais atenção.

—————————————————
Declaração de direitos autorais: este artigo é o artigo original do blogueiro CSDN "Xu Fei" e segue o contrato de direitos autorais CC 4.0 BY-SA. Anexe a fonte original link e isso para reimpressão.
Link original: https://blog.csdn.net/xmcy001122/article/details/105665732

Referência: https://www.jianshu.com/p/5f671aca2b5a
Referência: http://www.linuxboy.net/linuxjc/144365.html

Acho que você gosta

Origin blog.csdn.net/xmcy001122/article/details/106202085
Recomendado
Clasificación