在Jenkins的Docker Swarm节点内执行脚本



我有一个Django应用程序,它被部署到Docker Swarm中。(复制,在多个节点上运行(

应用程序包含一些必须定期执行的shell脚本do_stuff.sh,最终在节点上执行自定义命令python manage.py do_django_stuff

我想要的是安排并触发Jenkins脚本的执行。(从那里可以方便地跟踪结果/查看故障排除日志输出等(

应用程序有固定的FQDN(例如my_app.my_server.com(,但我很难理解如何从Jenkins指向特定的容器来执行那里的脚本。

我怎样才能做到这一点?

谢谢!

找到了解决方案。为了完成上述任务,我必须做两件事:

  • 在Jenkins作业上贴上标签,该作业的目标是构建Docker Swarm集群(拾取其中一台机器(
  • docker exec $(docker ps -q -f name=name_of_my_application) ./do_stuff.sh的身份执行脚本

因此,当任务在Docker Swarm中执行时,我实现了这种行为,但输出与常规部署相同

最新更新