Notícias
Novos modelos de linguagem da API Serverspace GPT
DF
janeiro 29, 2023
Atualizado janeiro 31, 2025

Instalação do Concourse CI

Debian Linux Ubuntu

Preamble

Concourse CI - sistema moderno e escalonável para alto desempenho e desempenho com sintaxe declarativa componível. Em comparação com os experimentos para configurar um experimento contínuo, a equipe do Concourse fez todos os esforços para simplificar o gerenciamento do pipeline de experimentos contínuos.

Em nosso tutorial, examinaremos a instalação do Concourse CI no servidor Ubuntu/Debian/CentOS, que será pré-instalado e configurado. Vamos configurar um banco de dados PostgreSQL para usar como backend.

Preparação para a instalação

Antes de instalar o Concourse CI, é necessário implantar um servidor Debian/Ubuntu/CentOS e configurá-lo. Você pode fazer isso usando nossa instrução.

Instalação e configuração do PostgreSQL

Antes de fazer o download e instalar o Concourse CI, é necessário atualizar os índices dos pacotes e instalar o PostgreSQL. Para fazer isso, siga este código:

apt update
apt install postgresql postgresq-contrib

Depois de instalar o PostgreSQL, temos que criar um usuário no banco de dados do Concourse. A criação do usuário deve ser feita como postgres.

sudo -u postgres createuser concourse

O Concourse se conecta a um banco de dados atc. É necessário criar um banco de dados atc e atribuir direitos de propriedade ao usuário do concourse.

sudo -u postgres createdb --owner=concourse atc

Após o processo de instalação e criação do banco de dados, podemos fazer o download e instalar o Concourse CI.

Baixar e instalar o Concourse CI

Você pode usar o arquivo do site oficial do Concourse ou do GitHub. Em nosso caso, consideramos fazer o download do GitHub. É necessário fazer o download do servidor.

curl -LO "url_for_concourse_linux.tgz"
tar -xzf concourse*.tgz

Depois disso, precisamos fazer o download do cliente fly em seu diretório pessoal e descompactá-lo:

curl -LO "ufl_for_fly"
tar -xzf fly*.tgz

Depois disso, precisamos definir os direitos de execução de arquivos nos arquivos descompactados e mover todos os arquivos para o diretório - /usr/local/bin

chmod +x concourse* fly*
mv concourse* /usr/local/bin/
mv fly* /usr/local/bin/

Vamos nos certificar de que nossas versões do concourse e do fly são relevantes usando o comando:

concourse --version
fly --version

Como resultado, obtemos as versões 7.9.0.

Configuração do serviçoConcourse CI

Afinal, é necessário criar o diretório concourse em /etc/:

mkdir -p /etc/concourse

Em seguida, temos que criar chaves de criptografia para acessar o serviço e definir a configuração do Concourse.

Vá para o diretório /etc/concourse e gere as chaves:

sudo ssh-keygen -t rsa -q -N '' -f /etc/concourse/tsa_host_key
sudo ssh-keygen -t rsa -q -N '' -f /etc/concourse/worker_key
sudo ssh-keygen -t rsa -q -N '' -f /etc/concourse/session_signing_key

Verifique o que está dentro da pasta por meio de:

ls -l

Como resultado, obteremos uma lista de chaves geradas:

-rw------- 1 spcsteam spcsteam 1823 Jan  4 12:18 session_signing_key
-rw-r--r-- 1 spcsteam spcsteam 393 Jan  4 12:18 session_signing_key.pub
-rw------- 1 spcsteam spcsteam 1823 Jan  4 12:18 tsa_host_key
-rw-r--r-- 1 spcsteam spcsteam 393 Jan  4 12:18 tsa_host_key.pub
-rw------- 1 spcsteam spcsteam 1823 Jan  4 12:18 worker_key
-rw-r--r-- 1 spcsteam spcsteam  393 Jan  4 12:18 worker_key.pub

Vamos fazer uma cópia da chave worker_key.pub para distribuir essa chave aos funcionários para autorização.

cp /etc/concourse/worker_key.pub /etc/concourse/authorized_worker_keys

Vamos criar um arquivo de configuração para iniciar a UI da Web do serviço Concourse.

vim /etc/concourse/web_environment

No arquivo, especifique os caminhos para usar as chaves e o caminho para o arquivo para iniciar o PostgreSQL. E também especifique o login, a senha, o endereço do servidor e a porta.

CONCOURSE_SESSION_SIGNING_KEY=/etc/concourse/session_signing_key
CONCOURSE_TSA_HOST_KEY=/etc/concourse/tsa_host_key
CONCOURSE_TSA_AUTHORIZED_KEYS=/etc/concourse/authorized_worker_keys
CONCOURSE_POSTGRES_SOCKET=/var/run/postgresql
CONCOURSE_BASIC_AUTH_USERNAME=serverspace
CONCOURSE_BASIC_AUTH_PASSWORD=p@ssw0rd
CONCOURSE_EXTERNAL_URL=http://server_IP:8080

Vamos salvar o arquivo e sair dele.

Vamos criar um arquivo de configuração para o backend do Concourse. Especifique o caminho para a chave, o endereço local e a porta:

vim /etc/concourse/worker_environment
CONCOURSE_WORK_DIR=/var/lib/concourse
CONCOURSE_TSA_WORKER_PRIVATE_KEY=/etc/concourse/worker_key
CONCOURSE_TSA_PUBLIC_KEY=/etc/concourse/tsa_host_key.pub
CONCOURSE_TSA_HOST=127.0.0.1:2222

Os serviços são iniciados no diretório /etc/systemd/system/. Por esse motivo, dois arquivos devem ser criados para iniciar os serviços da Web e de trabalho.

vim /etc/systemd/system/concourse-worker.service
[Unit]
Description=Concourse CI worker process
After=concourse-web.service

[Service]
User=root
Restart=on-failure
EnvironmentFile=/etc/concourse/worker_environment
ExecStart=/usr/local/bin/concourse worker

[Install]
WantedBy=multi-user.target

Esse arquivo especifica o usuário a partir do qual o serviço é iniciado, o caminho para o arquivo de configuração e o caminho para o arquivo de trabalho a ser iniciado a partir do diretório /etc/concourse.

Agora vamos criar um arquivo para iniciar o serviço WEB UI no diretório /etc/systemd/system:

vim /etc/systemd/system/concourse-web.service
[Unit]
Description=Concourse CI web process (ATC and TSA)
After=postgresql.service

[Service]
User=concourse
Restart=on-failure
EnvironmentFile=/etc/concourse/web_environment
ExecStart=/usr/local/bin/concourse web

[Install]
WantedBy=multi-user.target

Vamos adicionar a porta 8080 às regras do ufw para obter acesso de outro host e iniciar os serviços:

ufw allow 8080
service start concourse-web.service
service start concourse-worker.service

Vamos adicionar o carregamento automático aos serviços concourse-web e concourse-worker para que eles sejam iniciados automaticamente quando o servidor for iniciado:

systemctl enable concourse-web concourse-worker

Acesso à Interface da Web

Na linha de comando, execute o seguinte comando:

fly -t tutorial login -c http://127.0.0.1:8080 -u serverspace -p p@ssw0rd

Como resultado, obteremos:

logging in to team 'main'
target saved

Vamos verificar o componente ativo usando o comando:

fly -t tutorial workers
#Result
name          containers  platform  tags  team  state    version  age
01fb36b82106  0           linux     none  none  running  2.4      1d

A interface da Web é verificada por meio de um navegador da Web. Digite o endereço e a porta do servidor na barra de endereços.

Concourse CI web interface

Conclusão

Como resultado, podemos dizer que as seguintes ações foram consideradas:

  • Baixar os arquivos de origem do GitHub;
  • Configuração do Concourse e do Fly;
  • Definição de arquivos de configuração;
  • Configurar arquivos para iniciar o trabalhador e os serviços da Web;
  • Criar um trabalhador;
  • Fazer login na interface da Web.
Avaliação:
5 fora de 5
Аverage rating : 5
Avaliado por: 4
CEP 01311-930 São Paulo Avenida Paulista, nº 1765, 7º andar, Cj. 72, CV 10172, Bela Vista
+ 55 11 5118-1047
ITGLOBAL.COM BR LTDA
Usamos cookies para melhorar sua experiência no Serverspace. Ao continuar a navegar em nosso site, você concorda com o Uso de Cookies e com a Política de Privacidade.