Я новичок в конвейерах и бегунах. Я хочу просто создать свой код 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
и я не вижу репозитория в моей файловой системе...
Большое спасибо за любую помощь или подсказку!
Мне удалось сделать так, как я хотел:
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>
script:
- git clone [email protected]:suricog/tools.git ../tools
- sh ../tools/useful_scripts/build.sh -v
- pytest -v