Как запустить сценарий из другого репозитория на локальном средстве запуска Bitbucket в Windows

Я новичок в конвейерах и бегунах. Я хочу просто создать свой код Python после запроса на включение или когда захочу. Но мой скрипт сборки находится в другом репозитории. Я не знаю, как получить этот файл. На моей локальной машине я просто делаю это из своего текущего репозитория:

../tools/build.sh

Я создал средство запуска рабочей области Windows-64 в интерфейсе Bitbucket, а затем скопировал и вставил три строки, чтобы загрузить и запустить его на своем локальном компьютере:

Expand-Archive .\atlassian-bitbucket-pipelines-runner.zip
cd .\atlassian-bitbucket-pipelines-runner\bin
.\start.ps1 -accountUuid '<ACCOUNT_ID>' -runnerUuid '<etc.>

Тогда мой бегун работает.

[2024-05-30 10:03:15,341] Runner version: 2.1.0
[2024-05-30 10:03:20,832] Runner runtime: windows-powershell
[2024-05-30 10:03:20,973] Starting websocket listening to RUNNER_UPDATED events.
[2024-05-30 10:03:21,236] Updating runner status to "ONLINE" and checking for new steps assigned to the runner after 0 seconds and then every 30 seconds.
[2024-05-30 10:03:21,553] Updating runner state to "ONLINE".
[2024-05-30 10:03:51,246] Updating runner state to "ONLINE".
...

Но я не могу войти в командную строку bash. Где находятся мои исходные файлы? Я представляю в .. Но есть ли у меня другие репозитории, доступные в Workspace Runner, или я должен git clone иметь доступ к файлам?

Бонусный вопрос: как мне это отладить, не меняя файл bitbucket-pipelines.yml онлайн и не отправляя запрос через онлайн-интерфейс Bitbucket, что приведет к очень болезненной отладке? Я хотел бы войти в свой бегун локально в bash, например, в контейнере Docker, и просмотреть файловую систему, запустить сборку и т. д.

Обратите внимание, что в автономном раннере Ubuntu мне удается войти в док-контейнер (раннеры Windows не являются док-контейнерами, если я хорошо понимаю), но я не могу найти исходный код:

root@623d8692a688:/opt/atlassian/pipelines/runner# ls
bin  docker  entrypoint.sh  README.md  target

и я не вижу репозитория в моей файловой системе...

Большое спасибо за любую помощь или подсказку!

Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
0
0
91
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Мне удалось сделать так, как я хотел:

  • для отладки я добавил шаг sleep в начале script:
pipelines:
  default:
      - step:
          runs-on:
            - self.hosted
            - windows
          script:
            - sleep 6000

Затем я нажимаю Run pipeline в интерфейсе Bitbucket. Наконец, во втором Powershell (первый выполняет бегун, см. мой вопрос) я могу спокойно перемещаться по еще не удаленной файловой системе:

d:
cd  dev/atlassian-bitbucket-pipelines-runner/temp/cf337094-48aa-5bd5-98a4-bf0712e387bf/1717479636626/build
ls
git clone ...
<testing other commands>
  • для другого репозитория нам нужно добавить шаг клонирования git (подтверждено командой Atlassian):
          script:
            - git clone [email protected]:suricog/tools.git ../tools
            - sh ../tools/useful_scripts/build.sh -v
            - pytest -v

Другие вопросы по теме

Похожие вопросы

Можно ли дополнительно указать платформу сборки для службы в файле Docker Compose?
Как просмотреть содержимое докер-контейнера из Windows?
Docker compose -f docker-compose,yaml up error: сервис том Services.database.volumes.[0] отсутствует цель монтирования
Невозможно загрузить архив изображений в Docker, потому что Docker нужен пользователь root, а Bazel — пользователь без полномочий root
Как использовать переменные из файла .env, расположенного в родительском каталоге, при включении других файлов Compose в дочерние каталоги с помощью docker-compose
Задание Cron и докер
Статическая компоновка для Rust без glibc — черное изображение
Поэзия не может установить наборы данных и трансформеры в Docker
Ошибка во время подключения: в конфигурации демона по умолчанию в Windows клиент Docker должен запускаться с повышенными привилегиями для подключения
Невозможно установить ChromaDB на образ Docker Python: 3.12.3-alpine3.19