【发布时间】:2015-08-31 12:38:57
【问题描述】:
下午好
我最近开始与 gitlab 合作,试图确定它是否符合我们在 UX 管理团队中的需求。
我在我们的云上创建了 3 个服务器用于测试,如下所示:
Server_1 Gitlab 和 Gitlab-CI
Server_2 Gitlab 运行器
Server_3 脚本存储库
我们的想法是将以前的脚本存储库推送到 Gitlab,然后控制对它们所做的任何更改和安全问题。
我已经在服务器 1 上安装了 Gitlab-Omnibus,并使用他的项目 Testproject1 创建了用户“test1”,之后我将一些测试脚本推送到项目中。 在此之后,我在 Server_2 上安装了运行器并针对 Gitlab 进行配置,创建了一个运行器,注册它并针对 Server3 配置了 ssh 密钥
这里的问题如下,用户 test1 对 Gitlab 的 Testproject1 上的任何脚本所做的任何更改都会触发 runner 构建并将整个项目推送到 /home/user/build/"number"/number/Testproject1/ 执行这些操作的脚本位于该位置,名称为“Testproject1.sh”,其中包含如下代码:
if [[ -d $'builds/6461cd4f/0/test1/Testproject1/.git' ]]; then
echo $'\x1b[32;1mFetching changes...\x1b[0;m'
cd $'builds/6461cd4f/0/test1/Testproject1'
.....等等。
我们不希望将存储库部署在用户家中,我认为使用所需的部署路径和命令配置文件“.gitlab-ci.yml”就足够了,但我唯一能做到的就是每次都在用户家中和 .yml 文件中指定的路径部署存储库。
有人知道如何修改这种行为吗?是否有任何环境变量或任何可以解决此问题的东西?还是我使用了错误的 CI 功能?
runner的yml文件顺便说一下:
job:
script:
- cd /opt/gitlab/aplicacion1
- git init .
- git add .
- git pull origin master
- pwd
- ls -ltra
tags:
- master
提前致谢
【问题讨论】:
标签: gitlab gitlab-ci gitlab-ci-runner gitlab-omnibus