我正在运行gitlab作业,在该作业中,我试图取消设置CI / CD设置中的某些变量。
例如,我有
SOME_VARIABLE设置为
然后,在工作定义中,我正在尝试
URL url = new URL ("https://www.dailymotion.com/video/" + dataSet.get(position).getId());
URI uri = url.toURI(); //I need URI value here
downloadVideoFromURI();
但是在工作本身上我仍然会得到
function convertToCSV(tableData, delimiter = ',') {
if (!Array.isArray(tableData) || !tableData.length) {
throw new Error('Table data should be a non-empty array of column/value rows');
}
var colNames = Object.keys(tableData[0]);
var rows = tableData.map(rowData => {
var row = [];
for (var key in rowData) {
// I noticed that members column is an array, not sure how you handle it
// but here it joins the members with comma and wraps the whole thing in
// double quotes
if (Array.isArray(rowData[key]) && rowData[key].length) {
row.push('"' + rowData[key].join(',') + '"');
} else {
row.push(rowData[key]);
}
}
return row.join(delimiter);
});
rows.unshift(colNames.join(delimiter));
return rows.join("\n")
}
const csv = convertToCSV([
{"id_group":"1","name":"Visitor","members":[],"total":"0","discount":"0"},
{"id_group":"2","name":"Guest","members":[],"total":"0","discount":"0"}
])
console.info(csv)
代替
variables:
SOME_VARIABLE: ""
script:
- echo SOME_VARIABLE - [%SOME_VARIABLE%]
有人遇到过吗?
答案 0 :(得分:1)
我不得不回答这个问题,因为它可能不太明显。
原来,当您在Windows上设置变量时,您必须说
set v=some_value
要取消设置,必须为
set v=
不是
set v=''
当您将其设置为空字符串时,就是这样:
$ set v=""
$ echo %v%
""
如果将其正确设置为空,则会得到:
$ set v=
$ echo %v%
%v%
但是在gitlab中,您不能将值保留为空,例如
variables:
v:
因为它的语法无效。
所以我要做的是在脚本区域中取消设置变量:
script:
- set v=
- run_my_script_that_needs_v_unset
然后该脚本按需工作。
(我想它可以在其他平台上类似地完成。)
答案 1 :(得分:0)
项目CI / CD变量优先于YAML定义的变量。这是优先顺序。
答案 2 :(得分:0)
您不需要s1
,只需=
示例:
set <varible-name>