Como instalar e configurar o Buildbot no CentOS 7

O Buildbot é uma ferramenta de integração contínua de código aberto, baseada em Python, para automatizar a criação, teste e implantação de software. O Buildbot consiste em um ou mais mestres do Buildbot e vários trabalhadores. O mestre do Buildbot ou o Buildmaster tem o comando central do sistema. É responsável por gerenciar o ambiente de construção, os trabalhadores e toma todas as decisões sobre o envio de trabalhos para os trabalhadores. O Buildmaster detecta alterações no repositório de códigos e envia os comandos ou tarefas para os trabalhadores executarem. Os trabalhadores executam os trabalhos e retornam o resultado ao Buildmaster. O Buildmaster notifica os desenvolvedores através de vários canais suportados. Neste tutorial, instalaremos o mestre e o trabalhador do Buildbot no CentOS 7. Também configuraremos a autenticação e o Nginx como um proxy reverso seguro.

Pré-requisitos

  • Uma instância do servidor Vultr CentOS 7 com pelo menos 1 GB de RAM.
  • Um usuário sudo .
  • Um nome de domínio registrado apontado para o servidor.

Neste tutorial, usaremos 192.168.1.1como endereço IP público e ci.example.comcomo nome de domínio apontado para a instância do Vultr. Certifique-se de substituir todas as ocorrências do exemplo de nome de domínio e endereço IP pelo nome real.

Atualize seu sistema básico usando o guia Como atualizar o CentOS 7 . Depois que seu sistema for atualizado, continue com a instalação do PostgreSQL.

Instalar dependências do Python

Instale o Pip, que é um gerenciador de pacotes para Python.

sudo yum -y install epel-release
sudo yum -y install python-pip gcc python-devel git
sudo pip install --upgrade pip

Instale o PostgreSQL

O Buildbot suporta vários tipos de servidores de banco de dados, como MySQL, PostgreSQL e SQLite. Neste tutorial, usaremos o PostgreSQL para hospedar o servidor de banco de dados Buildbot.

O PostgreSQL é um sistema de banco de dados objeto-relacional, conhecido por sua estabilidade e velocidade. O yumrepositório padrão contém uma versão antiga do PostgreSQL, então adicione o repositório PostgreSQL.

sudo yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-1.noarch.rpm

Instale o servidor de banco de dados PostgreSQL.

sudo yum -y install postgresql10-server postgresql10-contrib postgresql10 

Inicialize o banco de dados.

sudo /usr/pgsql-10/bin/postgresql-10-setup initdb

Inicie o servidor PostgreSQL e ative-o automaticamente no momento da inicialização.

sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10

Mude a senha do usuário padrão do PostgreSQL.

sudo passwd postgres

Efetue login como usuário do PostgreSQL.

sudo su - postgres

Crie um novo usuário do PostgreSQL para o Buildbot.

createuser bb_user

Você pode usar qualquer nome de usuário em vez de bb_user, se preferir. O PostgreSQL fornece o psqlshell para executar consultas no banco de dados. Mude para o shell do PostgreSQL.

psql

Defina uma senha para o usuário recém-criado.

ALTER USER bb_user WITH ENCRYPTED password 'DBPassword';

Substitua DBPasswordpor uma senha segura.

Crie um novo banco de dados para a instalação do Buildbot.

CREATE DATABASE buildbot OWNER bb_user;

Saia do psqlshell.

\q

Mude para o sudousuário.

exit

Edite o pg_hba.confarquivo para habilitar a autenticação baseada em MD5.

sudo nano /var/lib/pgsql/10/data/pg_hba.conf

Encontre as seguintes linhas e altere os valores peere ident, na METHODcoluna, para truste md5, respectivamente.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            ident
# IPv6 local connections:
host    all             all             ::1/128                 ident

Depois de atualizada, a configuração será semelhante ao texto a seguir.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

Salve o arquivo e saia do editor. Instale o adaptador de banco de dados PostgreSQL para Python.

sudo pip install psycopg2

Reinicie o PostgreSQL para que as alterações entrem em vigor.

sudo systemctl restart postgresql-10

Instalar o Buildbot

Instale o Buildbot usando o Pip.

sudo pip install 'buildbot[bundle]' pyopenssl service_identity

O comando acima irá instalar Buildbot juntamente com buildbot-www, buildbot-workere vários web plugins, tais como buildbot-waterfall-view.

Para garantir que o Buildbot tenha sido instalado com sucesso, você pode verificar verificando a versão do Buildbot.

buildbot --version

A saída deve se parecer com o texto a seguir.

[user@vultr ~]$ buildbot --version
Buildbot version: 0.9.15.post1
Twisted version: 17.9.0

Modifique suas regras de firewall para permitir a porta 8010. O Buildbot usa essa porta para ouvir as solicitações da web.

sudo firewall-cmd --zone=public --add-port=8010/tcp --permanent
sudo firewall-cmd --reload

Configurar o Buildbot Master

Crie um novo usuário não privilegiado para executar os processos mestre e de trabalho do Buildbot. Não é recomendável executar os serviços principais do Buildbot como rootusuário.

sudo adduser buildbot
sudo passwd buildbot

Efetue login como o buildbotusuário recém-criado .

sudo su - buildbot

Configure o mestre do Buildbot no /home/buildbot/masterdiretório Este diretório conterá os arquivos de configuração, status e log de cada build.

buildbot create-master --db 'postgresql://bb_user:DBPassword@localhost/buildbot' ~/master

Certifique-se de substituir as credenciais do usuário do banco de dados no comando acima.

Nota: Se você deseja usar o banco de dados SQLite em vez do PostgreSQL, simplesmente omita a --db 'postgresql://bb_user:DBpassword@localhost/buildbot'opção. O banco de dados SQLite será criado no mesmo diretório.

O comando acima criará o ~/masterdiretório para armazenar os arquivos do Buildmaster. Ele também gravará os dados no banco de dados PostgreSQL. Você obterá a seguinte saída.

[buildbot@vultr ~]$ buildbot create-master --db 'postgresql://bb_user:DBPassword@localhost/buildbot' ~/master
mkdir /home/buildbot/master
creating /home/buildbot/master/master.cfg.sample
creating database (postgresql://bb_user:DBPassword@localhost/buildbot)
buildmaster configured in /home/buildbot/master

Copie o arquivo de configuração de amostra para um arquivo de configuração ativo.

cp ~/master/master.cfg.sample ~/master/master.cfg

Edite o arquivo de configuração.

nano ~/master/master.cfg

Encontre as seguintes linhas.

c['workers'] = [worker.Worker("example-worker", "pass")]
...

c['builders'].append(
    util.BuilderConfig(name="runtests",
      workernames=["example-worker"],
      factory=factory))
...

c['title'] = "Hello World CI"
c['titleURL'] = "https://buildbot.github.io/hello-world/"
...

c['buildbotURL'] = "http://localhost:8010/"
...

c['db'] = {
    'db_url' : "postgresql://bb_user:DBpassword@localhost/buildbot",
}

A configuração acima tem uma entrada para um trabalhador de amostra. Modificaremos a entrada de amostra para o trabalhador em que executaremos localhost. Altere example-workerpara qualquer nome adequado para o localhosttrabalhador e passpara outra senha. Anote o nome e a senha do trabalhador, conforme exigido posteriormente no tutorial. Altere o nome do trabalhador na lista de construtores. Mude o nome do URL do aplicativo e do projeto de acordo com suas necessidades.

Altere o URL do Buildbot de localhostpara o seu nome de domínio real ou endereço IP público. Além disso, verifique se as informações do banco de dados no arquivo de configuração correspondem às suas credenciais reais.

No final do arquivo, adicione c['buildbotNetUsageData'] = None. Este parâmetro desativará o envio das informações da versão do software e dos detalhes de uso do plug-in para os desenvolvedores. No entanto, para ativar o envio das informações de uso, altere a opção para Full.

A configuração deve se parecer com o texto a seguir.

c['workers'] = [worker.Worker("localhost-worker", "Password123")]
...    

c['builders'].append(
    util.BuilderConfig(name="runtests",
      workernames=["localhost-worker"],
      factory=factory))
...

c['title'] = "My Application CI"
c['titleURL'] = "https://example.com/my-app"
...

c['buildbotURL'] = "http://192.168.1.1:8010/"
...

c['db'] = {
    'db_url' : "postgresql://bb_user:DBpassword@localhost/buildbot",
}
...

c['buildbotNetUsageData'] = None

Salve o arquivo e saia do editor. Verifique o arquivo de configuração quanto a erros.

buildbot checkconfig ~/master

Se o arquivo de configuração não apresentar erros, você verá a seguinte saída.

[buildbot@vultr ~]$ buildbot checkconfig ~/master
Config file is good!

Agora que tudo está configurado corretamente, você pode iniciar o mestre do Buildbot.

buildbot start ~/master

Você verá a seguinte saída.

[buildbot@vultr ~]$ buildbot start ~/master
Following twistd.log until startup finished..
The buildmaster appears to have (re)started correctly.

Agora que o mestre do Buildbot foi iniciado corretamente, a interface do usuário da web está acessível em http://192.168.1.1:8010. Você deve ver a seguinte interface do Buildbot.

Como instalar e configurar o Buildbot no CentOS 7

Configurar trabalhador do Buildbot

Como já modificamos a configuração do trabalhador ~/master/master.cfg, podemos criar um novo trabalhador.

buildbot-worker create-worker ~/worker localhost localhost-worker Password123

Certifique-se de usar exatamente o mesmo nome e senha do trabalhador, conforme mencionado no ~/master/master.cfgarquivo. Se houver uma incompatibilidade no nome ou na senha do trabalhador, o trabalhador não poderá se conectar ao mestre do Buildbot. Você verá a seguinte saída após a execução bem-sucedida.

[buildbot@vultr ~]$ buildbot-worker create-worker ~/worker localhost example-worker pass
mkdir /home/buildbot/worker
mkdir /home/buildbot/worker/info
Creating info/admin, you need to edit it appropriately.
Creating info/host, you need to edit it appropriately.
Not creating info/access_uri - add it if you wish
Please edit the files in /home/buildbot/worker/info appropriately.
worker configured in /home/buildbot/worker

As informações sobre o trabalhador são armazenadas no /infodiretório Edite as informações administrativas sobre o desenvolvedor.

nano ~/worker/info/admin

Substitua o nome do exemplo pelo seu nome e email reais.

Your Name <[email protected]>

Agora, abra o arquivo que contém informações sobre o host.

nano ~/worker/info/host

Substitua a instrução de exemplo pelas informações reais sobre o sistema host.

Localhost, CentOS 7

As informações de administrador e host do trabalhador são usadas apenas para informar os usuários sobre o sistema. Você também pode adicionar informações adicionais sobre o sistema, como a versão Buildbot e a versão Twisted.

Inicie o trabalhador.

buildbot-worker start ~/worker

A saída será semelhante ao texto a seguir.

[buildbot@vultr ~]$ buildbot-worker start ~/worker
Following twistd.log until startup finished..
The buildbot-worker appears to have (re)started correctly.

Para verificar se o trabalhador está registrado, vá para a interface da Web do Buildbot e navegue para a Builds >> Workerspartir da navegação esquerda. Você deve ver que o trabalhador está pronto e pronto para construir.

Como instalar e configurar o Buildbot no CentOS 7

Para executar uma amostra de compilação, para verificar se o trabalhador do Buildbot está sendo executado com êxito, navegue até Builds >> Builders. Clique no runtestsnome do construtor para abrir a interface do construtor e clique no Forcebotão para forçar uma construção. Forneça seu nome e clique no Start Buildbotão para iniciar a compilação. Como é um teste de construção de amostra para verificar o ambiente do Buildbot, ele será concluído em alguns segundos. Você receberá uma mensagem de sucesso e o resultado da compilação.

Como instalar e configurar o Buildbot no CentOS 7

Configurando o Serviço Systemd

Embora o mestre e o trabalhador do Buildbot possam ser facilmente iniciados usando os comandos acima, é recomendável usar unidades Systemd para executar e gerenciar os serviços do Buildbot. Isso garantirá que eles sejam iniciados automaticamente na reinicialização e falhas do sistema.

Nota: Alterne para o sudousuário novamente executando exitou su <username>. A partir de agora todos os comandos precisam ser executados pelo sudousuário.

Pare o trabalhador Buildbot e o serviço mestre em execução.

sudo su buildbot -c "buildbot stop /home/buildbot/master" 
sudo su buildbot -c "buildbot-worker stop ~/worker"

Crie um novo arquivo de unidade Systemd para o mestre do Buildbot.

sudo nano /etc/systemd/system/buildbot.service

Preencher o arquivo.

[Unit]
Description=BuildBot master service 
After=network.target

[Service]
Type=forking
User=buildbot 
Group=buildbot 
WorkingDirectory=/home/buildbot/master 
ExecStart=/usr/bin/buildbot start
ExecStop=/usr/bin/buildbot stop
ExecReload=/usr/bin/buildbot restart

[Install]
WantedBy=multi-user.target

Inicie o mestre do Buildbot e ative-o automaticamente no momento da inicialização.

sudo systemctl start buildbot
sudo systemctl enable buildbot

Crie um novo arquivo de unidade Systemd para o trabalhador Buildbot.

sudo nano /etc/systemd/system/buildbot-worker.service

Preencher o arquivo.

[Unit]
Description=BuildBot worker service
After=network.target

[Service]
Type=forking
User=buildbot
Group=buildbot
WorkingDirectory=/home/buildbot/worker
ExecStart=/usr/bin/buildbot-worker start
ExecStop=/usr/bin/buildbot-worker stop
ExecReload=/usr/bin/buildbot-worker restart

[Install]
WantedBy=multi-user.target

Inicie o trabalhador do Buildbot e ative-o automaticamente no momento da inicialização.

sudo systemctl start buildbot-worker
sudo systemctl enable buildbot-worker

Você pode verificar o status dos serviços.

sudo systemctl status buildbot buildbot-worker

Se os serviços estiverem funcionando sem problemas, você verá isso na saída.

[user@vultr ~]$ sudo systemctl status buildbot buildbot-worker
● buildbot.service - BuildBot master service
...
Active: active (running) since Fri 2018-01-12 16:00:59 UTC; 1min 25s ago
...
Jan 12 16:00:59 vultr.guest systemd[1]: Started BuildBot master service.

● buildbot-worker.service - BuildBot worker service
...
Active: active (running) since Fri 2018-01-12 16:02:00 UTC; 24s ago
...
Jan 12 16:02:00 vultr.guest systemd[1]: Started BuildBot worker service.

Habilitando a autenticação

Por padrão, a autenticação não está ativada na interface da Web Buildbot. Para sites de acesso à Internet, é altamente recomendável configurar a autenticação para que apenas os usuários autorizados possam executar tarefas administrativas. Para configurar a autenticação, reabra o arquivo de configuração principal do Buildbot.

sudo su buildbot -c "nano /home/buildbot/master/master.cfg"

Adicione as seguintes linhas ao final do arquivo.

c['www']['authz'] = util.Authz(
       allowRules = [
           util.AnyEndpointMatcher(role="admins")
       ],
       roleMatchers = [
           util.RolesFromUsername(roles=['admins'], usernames=['admin_user'])
       ]
)
c['www']['auth'] = util.UserPasswordAuth({'admin_user': 'AdminPassword'})

Substitua ambas as ocorrências admin_userpelo nome de usuário real que você deseja usar e AdminPasswordpor uma senha forte.

Verifique se há erros no arquivo de configuração.

sudo su buildbot -c "buildbot checkconfig /home/buildbot/master"

Reinicie o serviço mestre do Buildbot para que as alterações tenham efeito.

sudo systemctl restart buildbot

Navegue na interface da web novamente para ver se os usuários anônimos podem visualizar apenas os detalhes básicos sobre o servidor de construção. Agora, efetue login usando as credenciais definidas no master.cfgarquivo e você verá que todas as outras funções administrativas estão disponíveis apenas para o usuário administrador logado.

Protegendo o Buildbot com o Let's Encrypt SSL

Por padrão, o Buildbot escuta a porta 8010em conexões não seguras. HTTPSRecomenda-se a proteção da interface da web para garantir que os dados estejam seguros durante o transporte do navegador para o servidor. Nesta seção do tutorial, instalaremos e protegeremos o Nginx com certificados SSL gratuitos Let's Encrypt. O servidor da web Nginx funcionará como um proxy reverso para encaminhar as solicitações recebidas ao terminal HTTP do Buildbot.

Instale o Nginx.

sudo yum -y install nginx

Inicie o Nginx e permita que ele inicie automaticamente no momento da inicialização.

sudo systemctl start nginx
sudo systemctl enable nginx

Instale o Certbot, que é o aplicativo cliente do Let's Encrypt CA.

sudo yum -y install certbot

Antes de solicitar os certificados, você precisará permitir portas 80e / 443ou serviços HTTPe padrão HTTPSatravés do firewall. Além disso, remova a porta 8010, que escuta as conexões não seguras.

sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --zone=public --remove-port=8010/tcp --permanent
sudo firewall-cmd --reload

Nota: Para obter certificados da Let's Encrypt CA, o domínio para o qual os certificados devem ser gerados deve estar apontado para o servidor. Caso contrário, faça as alterações necessárias nos registros DNS do domínio e aguarde a propagação do DNS antes de fazer a solicitação de certificado novamente. O Certbot verifica a autoridade do domínio antes de fornecer os certificados.

Gere os certificados SSL.

sudo certbot certonly --webroot -w /usr/share/nginx/html -d ci.example.com

Os certificados gerados provavelmente serão armazenados no /etc/letsencrypt/live/ci.example.com/diretório O certificado SSL será armazenado como fullchain.peme a chave privada será armazenada como privkey.pem.

Os certificados Let's Encrypt expiram em 90 dias, portanto, é recomendável configurar a renovação automática dos certificados usando trabalhos Cron.

Abra o arquivo de tarefa cron para o rootusuário.

sudo crontab -e

Adicione a seguinte linha no final do arquivo.

30 5 * * * /usr/bin/certbot renew --quiet

O trabalho cron acima será executado todos os dias às 05:30. Se o prazo de validade do certificado for vencido, ele será renovado automaticamente.

Agora, altere o arquivo de configuração padrão do Nginx para remover a default_serverlinha.

sudo sed -i 's/default_server//g' /etc/nginx/nginx.conf

Crie um novo arquivo de configuração para a interface da web Buildbot.

sudo nano /etc/nginx/conf.d/buildbot.conf

Preencher o arquivo.

upstream buildbot {
server 127.0.0.1:8010;
}

server {
    listen 80 default_server;
    server_name ci.example.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2 default_server;
    server_name ci.example.com;

    root html;
    index index.html index.htm;

    ssl on;
    ssl_certificate         /etc/letsencrypt/live/ci.example.com/fullchain.pem;
    ssl_certificate_key     /etc/letsencrypt/live/ci.example.com/privkey.pem;

    ssl_session_cache      shared:SSL:10m;
    ssl_session_timeout  1440m;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

    add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;";

    access_log  /var/log/nginx/buildbot.access.log;

    proxy_set_header HOST $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto  $scheme;
    proxy_set_header X-Forwarded-Server  $host;
    proxy_set_header X-Forwarded-Host  $host;

    location / {
        proxy_pass http://buildbot;
    }
    location /sse/ {
        proxy_buffering off;
        proxy_pass http://buildbot/sse/;
    }
    location /ws {
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_pass http://buildbot/ws;
        proxy_read_timeout 6000s;
    }
}

Verifique os erros no novo arquivo de configuração.

sudo nginx -t

Se você vir a seguinte saída, a configuração está livre de erros.

[user@vultr ~]$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Se você recebeu algum tipo de erro, verifique o caminho para os certificados SSL. Reinicie o servidor da web Nginx para implementar a alteração na configuração.

sudo systemctl restart nginx

Abra o arquivo de configuração do Buildmaster.

sudo su buildbot -c "nano /home/buildbot/master/master.cfg"

Localize a seguinte linha.

c['buildbotURL'] = "http://192.168.1.1:8010/"

Mude o URL de acordo com o nome do domínio que você está usando.

c['buildbotURL'] = "https://ci.example.com/"

Reinicie o serviço principal do Buildbot.

sudo systemctl restart buildbot

Agora você pode acessar o painel do Buildbot em https://ci.example.com. Você verá que as conexões com o Buildbot agora estão protegidas com SSL.

Como instalar e configurar o Buildbot no CentOS 7

Efetue login usando as credenciais de administrador e adicione seu primeiro pipeline para começar a criar seu aplicativo.



Configure sua própria rede privada com o OpenVPN

Configure sua própria rede privada com o OpenVPN

O Vultr oferece uma incrível conectividade de rede privada para servidores executando no mesmo local. Mas às vezes você quer dois servidores em países diferentes

Como instalar e configurar o CyberPanel no servidor CentOS 7

Como instalar e configurar o CyberPanel no servidor CentOS 7

Usando um sistema diferente? Introdução O CyberPanel é um dos primeiros painéis de controle do mercado, tanto de código aberto quanto de OpenLiteSpeed. What thi

Instale o eSpeak no CentOS 7

Instale o eSpeak no CentOS 7

Usando um sistema diferente? O ESpeak pode gerar arquivos de áudio de conversão de texto em fala (TTS). Isso pode ser útil por vários motivos, como criar seu próprio Turim

Monitore seus dispositivos usando o LibreNMS no CentOS 7

Monitore seus dispositivos usando o LibreNMS no CentOS 7

Usando um sistema diferente? O LibreNMS é um sistema de monitoramento de rede de código aberto completo. Ele usa o SNMP para obter os dados de diferentes dispositivos. Uma variedade

Como usar o Sudo no Debian, CentOS e FreeBSD

Como usar o Sudo no Debian, CentOS e FreeBSD

Usar um usuário sudo para acessar um servidor e executar comandos no nível raiz é uma prática muito comum entre o Linux e o Unix Systems Administrator. O uso de um sud

Como instalar o RabbitMQ no CentOS 7

Como instalar o RabbitMQ no CentOS 7

Usando um sistema diferente? O RabbitMQ é um intermediário de mensagens de código aberto amplamente usado, escrito na linguagem de programação Erlang. Como um middleware orientado a mensagens

Configurar o Nginx-RTMP no CentOS 7

Configurar o Nginx-RTMP no CentOS 7

Usando um sistema diferente? O RTMP é ótimo para veicular conteúdo ao vivo. Quando o RTMP é emparelhado com o FFmpeg, os fluxos podem ser convertidos em várias qualidades. Vultr i

Como instalar o Gradle no CentOS 7

Como instalar o Gradle no CentOS 7

Usando um sistema diferente? Gradle é um conjunto de ferramentas de automação de compilação de código aberto e gratuito baseado nos conceitos do Apache Ant e Apache Maven. Gradle fornece

Instale um servidor FTP com ProFTPd no CentOS 6 ou CentOS 7

Instale um servidor FTP com ProFTPd no CentOS 6 ou CentOS 7

Usando um sistema diferente? Neste guia, veremos como configurar um servidor FTP (ProFTPd) para transferir arquivos entre o seu PC e o seu servidor.

Instalando o Netdata no CentOS 7

Instalando o Netdata no CentOS 7

Usando um sistema diferente? O Netdata é uma estrela em ascensão no campo do monitoramento de métricas do sistema em tempo real. Comparado com outras ferramentas do mesmo tipo, o Netdata:

Como instalar o Apache Cassandra 3.11.x no CentOS 7

Como instalar o Apache Cassandra 3.11.x no CentOS 7

Usando um sistema diferente? O Apache Cassandra é um sistema de gerenciamento de banco de dados NoSQL gratuito e de código aberto, projetado para fornecer escalabilidade, alta

Como instalar um servidor Just Cause 2 (JC2-MP) no CentOS 7

Como instalar um servidor Just Cause 2 (JC2-MP) no CentOS 7

Neste tutorial, aprenda como configurar um servidor multiplayer Just Cause 2. Pré-requisitos Verifique se o sistema está totalmente atualizado antes de começarmos

Como instalar o servidor Starbound no CentOS 7

Como instalar o servidor Starbound no CentOS 7

Usando um sistema diferente? Neste tutorial, explicarei como configurar um servidor Starbound no CentOS 7. Pré-requisitos Você precisa ser o proprietário deste jogo

Instalando e configurando o ZNC no CentOS 7

Instalando e configurando o ZNC no CentOS 7

O ZNC é um segurança IRC gratuito e de código aberto que permanece permanentemente conectado a uma rede para que os clientes possam receber mensagens enviadas enquanto estiverem offline. Thi

Como instalar o Django no CentOS 7

Como instalar o Django no CentOS 7

O Django é uma estrutura Python popular para escrever aplicativos da web. Com o Django, você pode criar aplicativos mais rapidamente, sem reinventar a roda. Se você quiser você

Como instalar o CMS de outubro no CentOS 7

Como instalar o CMS de outubro no CentOS 7

Outubro é um sistema de gerenciamento de conteúdo de código aberto baseado no Laravel PHP Framework. Com uma interface elegante e uma arquitetura modular concisa

Como configurar a autenticação de dois fatores (2FA) para SSH no CentOS 6 usando o Google Authenticator

Como configurar a autenticação de dois fatores (2FA) para SSH no CentOS 6 usando o Google Authenticator

Após alterar a porta SSH, configurar a batida na porta e fazer outros ajustes para a segurança SSH, talvez haja mais uma maneira de protegê-lo

Como instalar o MyCLI no Linux (CentOS, Debian, Fedora e Ubuntu)

Como instalar o MyCLI no Linux (CentOS, Debian, Fedora e Ubuntu)

Introdução O MyCLI é um cliente de linha de comando para MySQL e MariaDB que permite concluir automaticamente e ajuda na sintaxe de seus comandos SQL. MyCL

Como instalar o Directus 6.4 CMS em um CentOS 7 LAMP VPS

Como instalar o Directus 6.4 CMS em um CentOS 7 LAMP VPS

Usando um sistema diferente? O Directus 6.4 CMS é um sistema de gerenciamento de conteúdo sem cabeça (CMS) poderoso e flexível, gratuito e de código aberto que fornece

Como instalar o Reader Self 3.5 RSS Reader em um CentOS 7 LAMP VPS

Como instalar o Reader Self 3.5 RSS Reader em um CentOS 7 LAMP VPS

Usando um sistema diferente? O Reader Self 3.5 é um leitor de RSS auto-hospedado, simples e flexível, gratuito e de código aberto, e uma alternativa ao Google Reader. Leitor Sel

A IA pode lutar contra o aumento do número de ataques de ransomware

A IA pode lutar contra o aumento do número de ataques de ransomware

Os ataques de ransomware estão aumentando, mas a IA pode ajudar a lidar com os vírus de computador mais recentes? AI é a resposta? Leia aqui para saber se é AI boone ou bane

ReactOS: Este é o futuro do Windows?

ReactOS: Este é o futuro do Windows?

ReactOS, um sistema operacional de código aberto e gratuito está aqui com a versão mais recente. Será que ela pode atender às necessidades dos usuários modernos do Windows e derrubar a Microsoft? Vamos descobrir mais sobre esse estilo antigo, mas uma experiência de sistema operacional mais recente.

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

O Whatsapp finalmente lançou o aplicativo Desktop para usuários de Mac e Windows. Agora você pode acessar o Whatsapp do Windows ou Mac facilmente. Disponível para Windows 8+ e Mac OS 10.9+

Como a IA pode levar a automação de processos ao próximo nível?

Como a IA pode levar a automação de processos ao próximo nível?

Leia isto para saber como a Inteligência Artificial está se tornando popular entre as empresas de pequena escala e como está aumentando as probabilidades de fazê-las crescer e dar vantagem a seus concorrentes.

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

Recentemente, a Apple lançou o macOS Catalina 10.15.4, uma atualização suplementar para corrigir problemas, mas parece que a atualização está causando mais problemas, levando ao bloqueio de máquinas mac. Leia este artigo para saber mais

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

O que é um sistema de arquivos de registro no diário e como ele funciona?

O que é um sistema de arquivos de registro no diário e como ele funciona?

Nosso computador armazena todos os dados de uma maneira organizada conhecida como sistema de arquivos Journaling. É um método eficiente que permite ao computador pesquisar e exibir arquivos assim que você clicar em search.https: //wethegeek.com/? P = 94116 & preview = true

Singularidade tecnológica: um futuro distante da civilização humana?

Singularidade tecnológica: um futuro distante da civilização humana?

À medida que a ciência evolui em um ritmo rápido, assumindo muitos de nossos esforços, os riscos de nos sujeitarmos a uma singularidade inexplicável também aumentam. Leia, o que a singularidade pode significar para nós.

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

O impacto da inteligência artificial na saúde 2021

O impacto da inteligência artificial na saúde 2021

A IA na área da saúde deu grandes saltos nas últimas décadas. Portanto, o futuro da IA ​​na área da saúde ainda está crescendo dia a dia.