我在 Gitlab 上有两个项目,其中一个是另一个项目的子模块(我们称其为“frontend-templates”)。我已经为“frontend-templates”项目设置了 Gitlab CI 构建。问题是,我不需要测试或构建。我只需要将其部署到所需目录中。所以,我为“frontend-templates”项目注册了一个 runner,并将 .gitlab-ci.yml 添加到根目录中:
job_main:
type: deploy
script: echo "Do nothing"
当我推送到我的代码库时,Runner会将最新的提交内容获取到以下目录:
/home/gitlab-runner/builds/6231b425/0/Gasimzada/frontend-templates
现在,我希望该执行程序将“已测试”的提交部署到位于以下位置的dev服务器中:
并且只运行 echo "什么都不做"
。
/var/www/myapp/submodules/frontend-templates
编辑:我已经修改了脚本为
script: cd /var/www/myapp/submodules/frontend-templates && git pull
但是我收到了以下错误信息:
无法打开 /var/www/myapp/.git/modules/submodules/frontend-templates/FETCH_HEAD: 权限被拒绝
这很有道理,因为gitlab-runner用户没有访问/var/www/myapp中任何目录的权限,但对我来说是一个问题,因为我想在部署后运行gulp
,以便在从远程仓库拉取之后编译必要的脚本。
我应该给dev环境的根目录授权吗?或者还有其他方法可以解决这个问题吗?