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:
Debian)Debian)SSH)http do servidor onde o repositório será instalado, o será utilizado este endereço pelo Apt)GnuPG)version: "2"
services:
debian:
image: "i9corp/repo-debian:latest"
ports:
- "8080:80"
- "2222:22"
- "137137:137/tcp"
- "138138:138/tcp"
- "139139:139"
- "445445:445"
volumes:
- "vol_repo-debian:/etc/i9corp/packages"
environment:
- "ARCHITECTURE=x86_64"
- "VERSION=5.11"
- "REPO_PASSWD=123456"
- "REPO_ADDRESS=http://192.168.0.1:8080"
- "REPO_NAME=my_repo"
- "GPG_NAME=John Doe"
- "GPG_EMAIL=localhost@localhost"
- "BUILD_PASSWD=123456"
- "BUILD_LOGIN=build"
volumes:
vol_repo-debian:
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/debian/pool/main/
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 jenkins.
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 jenkins, e executando o script sync-repo, responsável pelo sincronismo e assinatura automática de pacotes.
Content type
Image
Digest
Size
194.1 MB
Last updated
over 6 years ago
docker pull i9corp/repo-debian