Используя пакет gitlab- python, я бы хотел извлечь строки из всех файлов Docker. Используя мой код, приведенный ниже, я могу получить имена проектов и URL-адрес нужного мне репозитория, но как я могу убедиться, что существует Dockerfile, и прочитать содержимое Dockerfile.
import gitlab
import json
from pprint import pprint
import requests
import urllib.request
# private token authentication
gl = gitlab.Gitlab('<path_to_gitlab_repo>', private_token=<token_here>)
gl.auth()
# list all projects
projects = gl.projects.list()
for project in projects:
# print(project) # prints all the meta data for the project
print("Project: ", project.name)
print("Gitlab URL: ", project.http_url_to_repo)
# print("Branches: ", project.repo_branches)
pprint(project.repository_tree(all=True))
f = urllib.request.urlopen(project.http_url_to_repo)
myfile = f.read()
print(myfile)
print("\n\n")
Вывод, который я получаю сейчас:
Gitlab URL: <path_to_gitlab_repo>
[{'id': '0c4a64925f5c129d33557',
'mode': '1044',
'name': 'README.md',
'path': 'README.md',
'type': 'blob'}]