просто хочу опубликовать обновление для моего решения.Я добавил, что добавляю контейнер MySQL с , создавая определенную сеть и имя которой указывается во всех других шагах (контейнерах) --network <network_name>
, чтобы контейнеры в следующих шагах могли напрямую соединяться по имени контейнера mysql.
Для безопасной игры я добавил контейнер в качестве буфера, чтобы у контейнера mysql было достаточно времени для сборки и запуска.
steps:
- name: 'gcr.io/cloud-builders/docker'
args: ['network','create','gcb_network']
- name: 'gcr.io/cloud-builders/docker'
args: ['run','--name=mysql','-p','3306:3306','--network','gcb_network','--env','MYSQL_USER=<user>','--env','MYSQL_PASSWORD=<pwd>','--env','MYSQL_ROOT_PASSWORD=<user>','--env','MYSQL_DATABASE=<dbname>','-d','mysql/mysql-server:5.7']
- name: 'ubuntu'
args: ['sleep','10']
id: 'MYSQLDeferrer'
- name: 'gcr.io/cloud-builders/docker'
args: ['build', '-t', 'gcr.io/<projectname>/<img_name>:latest','--network','gcb_network','-f','<path_to_docker_file>','.']
waitFor:
- 'MYSQLDeferrer'
env:
- 'DB_HOST='
- 'DB_USERNAME='
- 'DB_PASSWORD='
images: ['gcr.io/<projectname>/<img_name>']
вам может / не может понадобиться env в соответствии ствои настройки.