gpt4 book ai didi

ruby-on-rails - Azure DevOps - 自动运行 Rails 迁移

转载 作者:行者123 更新时间:2023-12-02 07:03:19 24 4
gpt4 key购买 nike

我创建了一个 Azure DevOps 项目,用于从 Github 部署我的代码。我的项目是一个在 Docker 上运行的 Rails 应用程序。当我创建 Azure DevOps 项目时,它会为我创建 CI/CD 管道。部署有效,但我不知道部署时如何自动迁移数据库。我知道我可以手动完成,但我不喜欢这样做,因为我们在部署时可能会忘记。

我尝试在“部署后操作”中运行以下命令

  • rake db:migrate
  • 捆绑 exec rake db:migrate
  • rbenv 执行捆绑执行 rake db:migrate
  • docker-compose run web rake db:migrate

我还生成了自己的 kuduscript(使用 kuduscript)来添加到迁移行中,但它不起作用。我不知道是否是因为它没有读取我的部署脚本,或者该行是否不起作用。

我错过了什么吗?我应该尝试弄清楚如何通过 Docker 进行迁移吗?我查看了所有这些链接,但它们都是手动运行迁移的。

https://learn.microsoft.com/en-us/azure/app-service/containers/quickstart-ruby https://medium.com/paris-rb/deploying-your-rails-postgresql-app-on-microsoft-azure-180f8a9fab47 https://learn.microsoft.com/en-us/azure/app-service/containers/tutorial-ruby-postgres-app

最佳答案

所以不确定你是否已经弄清楚了这一点,但我只是为了我正在进行的迁移而这样做。根据我的发现,实现您想要的效果的最佳方法是在发布管道中设置一个阶段,如下所示:

stage setup

基本上:

  • 您的服务连接登录到容器注册表
  • 拉取您刚刚构建的镜像并推送到注册表
  • 使用 docker run 命令运行您的镜像,其中包含所有必需的环境变量以及正确运行镜像所需的其他内容。
  • 如果需要,您可以使用另一个任务来运行 docker exec bundle exec rake db:migrate

如果迁移任务成功运行,它应该退出 0,允许您在已完成正确的数据库更改的最新标记图像上运行应用服务。

关于ruby-on-rails - Azure DevOps - 自动运行 Rails 迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60324095/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com