Как создать Docker Image с использованием Docker или docker-compose из репозитория Private Github Repo или Github Enterprise? - PullRequest
0 голосов
/ 30 октября 2019

Как я могу создать образ Docker из частного репозитория Github? Скажите, с github.com? Я являюсь частью команды, работающей над частным проектом, и я не могу получить к нему доступ, не войдя в систему.

Применимо ли это к Github Enterprise? скажем, github.company.com? Потому что проект будет с открытым исходным кодом, и мне нужно то же самое ...

1 Ответ

0 голосов
/ 30 октября 2019

Вы можете использовать личный токен Github, который имеет доступ для чтения к репозиторию Github. Используйте токен в качестве имени пользователя с пустым паролем:

https://${TOKEN}:@github.company.com/org/repo.git#branch:dir

Вы можете разместить URL с токеном, и предполагается, что Dockerfile находится в корневом каталоге репо.

Любой из приведенных ниже примеров сохраняется в docker-compose.yaml. Вы можете построить их, используя команду:

docker-compose build

главная ветвь

Вот пример:

version: "3"

services:
  reference:
    build: "https://f4d***3a8:@github.company.com/org/repo.git"
    command: ["./wait-for-it.sh", "--timeout=60", "config-server:8888", "--", "java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
This works! At this point, you can define an environment variable for the token such your OPS team can provide their own token.

Env токен со значением по умолчанию

  • Вы можете получить TOKEN из среды или использовать стандартный
version: "3"

services:
  reference:
    build: "https://${TOKEN:-f4d2***3a8}:@github.company.com/org/repo.git"
    command: ["./wait-for-it.sh", "--timeout=60", "config-server:8888", "--", "java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

Dockerfile в ветке разработки

  • Вы можете использовать ветку в URL с#branch
version: "3"

services:
  reference:
    build: "https://${TOKEN:-f4d***a8}:@github.company.com/org/repo.git#develop"
    command: ["./wait-for-it.sh", "--timeout=60", "config-server:8888", "--", "java","-D

Dockerfile в ветви и другой каталог

Использовать каталог после ветви #branch:dir. В приведенном ниже примере используется каталог docker-ci/ в репо github.company.com/org/repo.git.

version: "3"

services:
  reference:
    build: "https://${TOKEN:-f4d***a8}:@github.company.com/org/repo.git#develop:docker-ci"
    command: ["./wait-for-it.sh", "--timeout=60", "config-server:8888", "--", "java","-D
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...