Конвейеры Bitbucket - это сервис CI / CD, вы можете создавать свои приложения и развертывать ресурсы на производственном или тестовом экземпляре сервера.Вы также можете создавать и развертывать образы Docker - это не должно быть проблемой, если вы не делаете что-то не так ...
Все определенные сценарии в файле bitbucket-pipelines.yml
выполняются в контейнере, созданном из указанного изображения (atlassian/default-image:2
в вашем случае)
В вашем проекте должно быть Dockerfile
, и из этого файла вы можете создать и опубликовать образ докера.
Я создал простой репозиторий без Dockerfile и начал сборку:
невозможно подготовить контекст: невозможно оценить символические ссылки в пути Dockerfile: lstat / opt / atlassian / pipelines / agent / build / Dockerfile: нет такого файла или каталога
Мне нужно Dockerfile
в моем проекте для создания изображения (на том же уровне, что и файл bitbucket-pipelines.yml
):
FROM node:latest
WORKDIR /src/
EXPOSE 4000
На следующем шаге я создал общедоступный репозиторий DockerHub:
Я также изменил ваш файл bitbucket-pipelines.yml
( вы забыли пометить новое изображениес тегом ):
image: atlassian/default-image:2
pipelines:
default:
- step:
services:
- docker
script:
# build the Docker image (this will use the Dockerfile in the root of the repo)
- docker build -t appngpl/stackoverflow-question-56065689 .
# add new image tag
- docker tag appngpl/stackoverflow-question-56065689 appngpl/stackoverflow-question-56065689:$BITBUCKET_COMMIT
# authenticate with the Docker Hub registry
- docker login --username $DOCKER_HUB_USERNAME --password $DOCKER_HUB_PASSWORD
# push the new Docker image to the Docker registry
- docker push appngpl/stackoverflow-question-56065689:$BITBUCKET_COMMIT
Результат:
Все отлично работает:)
Репозиторий Bitbucket: https://bitbucket.org/krzysztof-raciniewski/stackoverflow-question-56065689
GitHubхранилище изображений: https://hub.docker.com/r/appngpl/stackoverflow-question-56065689