【发布时间】:2016-02-21 19:14:42
【问题描述】:
我为我的项目设置了 gitlab-ci,并插入了以下 yml 脚本:
---
buildJob:
only:
- master
script:
- "sh /var/www/gitTestFolder/scripts/build.sh"
stage: build
tags:
- ipsenh
deployJob:
only:
- master
script:
- "sh /var/www/gitTestFolder/scripts/deploy.sh"
stage: deploy
tags:
- ipsenh
testJob:
only:
- master
script:
- "sh /var/www/gitTestFolder/scripts/test.sh"
stage: test
tags:
- ipsenh
stages:
- build
- test
- deploy
此脚本在我的 gitlab 服务器中运行,并显示应该执行脚本 (/var/www..../script.sh) 的终端。
以下结果适用于我的一项工作:
gitlab-ci-multi-runner 0.6.2 (3227f0a)
Using Shell executor...
Running on ipsenh...
Cloning repository...
Cloning into 'builds/05d0538a/0/root/ipsenh'...
Checking out 4288f64a as master...
$ sh /var/www/gitTestFolder/scripts/deploy.sh
Build succeeded.
然而,脚本永远不会被执行。如果我在我的服务器上本地执行此脚本,它会创建一个带有简单文本输出的文件。但是,它永远不会通过此作业创建文件。
-
脚本内容:
echo "job executed" >> job.log
我的设置有误吗?显然它不是语法和权限都可以,否则我会得到一个错误。
这可能是什么?谢谢!
【问题讨论】:
-
你能显示那个脚本的内容吗?
-
脚本在当前目录中创建
job.log。如果您首先cd,那么您的当前目录就在您cded 的任何位置。如果你不这样做,那么默认情况下你在哪里。因此,您可能只是没有在正确的位置寻找文件。为输出使用完整路径。 -
这就是问题所在?您只是没有在正确的目录中查找文件?
标签: shell continuous-integration yaml sh gitlab