Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.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
Jenkins-合并master时更新Github项目repo内部Docker映像_Git_Docker_Jenkins_Github - Fatal编程技术网

Jenkins-合并master时更新Github项目repo内部Docker映像

Jenkins-合并master时更新Github项目repo内部Docker映像,git,docker,jenkins,github,Git,Docker,Jenkins,Github,我正在制作集成测试repo,它位于AWS实例上运行的Docker映像中。实际上,每当我想将集成测试脚本从GitHub更新到AWS实例时,我都需要手动将ssh更新到实例,然后键入命令git pull,从GitHub repo获取包含测试脚本的最新代码。我的意图是,每当GitHub repo(主分支)中出现merge操作时,我希望Jenkins在我的AWS实例中自动将其更新到集成测试repo,这样测试就不会以某种方式被淘汰(在节假日,没有人负责更新脚本) 那么,有人能给我推荐和想法吗 非常感谢您如何

我正在制作集成测试repo,它位于AWS实例上运行的Docker映像中。实际上,每当我想将集成测试脚本从GitHub更新到AWS实例时,我都需要手动将
ssh
更新到实例,然后键入命令
git pull
,从GitHub repo获取包含测试脚本的最新代码。我的意图是,每当GitHub repo(主分支)中出现
merge
操作时,我希望Jenkins在我的AWS实例中自动将其更新到集成测试repo,这样测试就不会以某种方式被淘汰(在节假日,没有人负责更新脚本)

那么,有人能给我推荐和想法吗


非常感谢

您如何看待docker容器上的cron?在这个cron命令中,您可以
git fetch
remoterepository,并检查是否应该应用任何更改。如果是这样,相同的cron命令可以执行git pull


这需要编写一些将在crontab中执行的脚本。还请记住以某种方式监视它-未被监视的cron不会执行;)

关于这一点,这意味着我只需要重新构建一个新的Docker映像,其中包含定义任务的
crontab
(例如
git fetch
remote repo,然后
git pull
repo)&计划运行时间?这是一个选项。如果强制cron在docker容器内运行出现任何问题,您可能会有一个卷,该卷暴露于驻留在主机上的容器,而cron位于执行该拉取的主机上。