Para realizar a Build de seu próprio repositório, deve-se seguir os seguintes passos:
Com as variáveis de ambiente serão definidas suas preferências em relação ao repositório, com elas deve-se configurar opções de acesso, URL, entre outros.
Dentro do arquivo docker-compose.yml encontraremos as variáveis para configurar nosso repositório, sendo elas:
CentOS)SSH)http do servidor onde o repositório será instalado, o será utilizado este endereço pelo Yum)GnuPG)version: "2"
services:
centos:
image: "i9corp/repo-centos:latest"
ports:
- "80080:80"
- "22022:22"
volumes:
- "vol_repo-centos:/etc/i9corp/packages"
environment:
- "ARCHITECTURE=x86_64"
- "REPO_PASSWD=123456"
- "REPO_ADDRESS=http://172.0.0.1"
- "REPO_NAME=my_repo"
- "GPG_NAME=John Doe"
- "GPG_EMAIL=localhost@localhost"
volumes:
vol_repo-centos:
Para executar sua imagem docker a partir das configurações presentes em seu arquivo docker-composer execute dentro do diretório raiz de seu projeto o comando:
docker-compose up -d
Com ele você iniciará sua imagem em modo deamon.
Para saber mais sobre as funcionalidades do docker-compose acesse a documentação.
O envio de pacotes ao repositório é realizado de forma relativamente simples, através de uma dinâmica de "cópia e cola" de arquivos, semelhante a copiar arquivos dentro de diretórios locais.
Para isso é necessário estabelecer uma conexão com o servidor através de algum programa capaz de realizar conexão SCP, no meu caso foi utilizado o programa Win SCP.
A conexão deve ser feita através do endereço de ip e configuração de porta SSH definido no arquivo de configuração docker-composer.yml, além das credenciais de senha e login definidas pelas variáveis de ambiente também presentes no arquivo .yml.
Estabelecida a conexão, por padrão os pacotes devem ser enviados ao seguinte diretório:
/etc/i9corp/packages/centos/${VERSION}/RPMS/${ARCHITECTURE}/
Após o envio dos pacotes ao repositório deve-se restabelecer ums conexão via SSH, através dos dados de endereço e senha definidos no arquivo docker-compose.yml e com o usuário repo.
Estabelecida a conexão SSH, deve-se executar os seguintes comandos;
sudo su
sync-repo
Desta maneira você estará entrando em modo de root com seu usuário repo, e executando o script sync-repo, responsável pelo sincronismo e assinatura automática de pacotes.
Content type
Image
Digest
Size
9.9 GB
Last updated
almost 7 years ago
docker pull i9corp/repo-centos