Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
运行flyway命令只需打印帮助并在python脚本中退出即可_Python_Flyway_Aws Codebuild - Fatal编程技术网

运行flyway命令只需打印帮助并在python脚本中退出即可

运行flyway命令只需打印帮助并在python脚本中退出即可,python,flyway,aws-codebuild,Python,Flyway,Aws Codebuild,所以我有一个Python脚本,我正在通过AWS代码构建运行它。它使用flyway命令行docker容器执行以下命令: cmd = 'flyway -user=' + connection_items['username'] + ' -password=' + connection_items['password'] + ' migrate' os.system(cmd) # I know this is insecure... just trying to get a migration to

所以我有一个Python脚本,我正在通过AWS代码构建运行它。它使用flyway命令行docker容器执行以下命令:

cmd = 'flyway -user=' + connection_items['username'] + ' -password=' + connection_items['password'] + ' migrate'
os.system(cmd) # I know this is insecure... just trying to get a migration to run
它执行flyway时没有任何参数,只是打印帮助并退出。有人对我做错了什么有什么建议吗?我还不能通过
子流程
模块运行(我有路径问题)


谢谢

它看起来更像是一个shell扩展问题,而不是代码构建问题

你的buildspec很混乱,我重写了你的buildspec如下。我希望这有助于:

---
version: 0.2
phases:
  install:
    runtime-versions:
      python: 3.7
    commands:
     - echo "Installing flyway..."
     - nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 --storage-driver=overlay&
     - timeout 15 sh -c "until docker info; do echo .; sleep 1; done"
     - echo "docker run --rm flyway/flyway:6.0.4 -url=jdbc:mysql://db -schemas=myschema -user=root -password=P@ssw0rd -connectRetries=60 migrate" > /usr/local/bin/flyway 
     - chmod +x /usr/local/bin/flyway
     - 
  build:
    commands:
      - echo building...
      - /usr/local/bin/flyway
      - python MigrateDatabase.py

另外,我确信您已经将项目环境的特权模式设置为true。

能否共享buildspec.yml将整个flyway命令(包括参数)放入/usr/local/bin中的脚本中是个好主意