我需要简化管理,对运行CentOS 6.3的服务器上的crontab文件实现基于Git的版本控制方法。有问题的 crontab 文件是一个用户 crontab,其中包含 100 个左右的作业,用于在源自 MantisBT 的自定义票证系统中自动创建票证。目标是将 cron 作业存储在 Git 存储库中的文本文件中,并使用 Jenkins 项目将该文件推送到远程服务器并部署最新的 crontab 文件。这是管理组织的 crontab 文件的合理且有效的方法吗?您是否以不同的方式实现了相同的目标或有什么建议?
如果您在 Docker 容器中运行项目,则可以将 cron 文件存储在项目中,该文件位于 GitHub 或任何其他 VCS 上。
然后在 Dockerfile 中,您可以将 cron 文件移动到容器文件系统中的正确位置。
在我的项目中,我正在 Dockerfile 中执行 shell 脚本,该脚本正在移动 文件:
if [ "$ENV" = "LIVE_SERVER" ]; then
cp /home/project/project-name/crontab /etc/cron.d/commands;
fi;
最重要的是,每次默认分支上有新提交时,您都需要设置 Jenkins 来构建您的项目。