#javascript #node.js #curl #continuous-deployment #bitbucket-pipelines
#javascript #node.js #curl #непрерывное развертывание #bitbucket-конвейеры
Вопрос:
Я хочу присвоить значения obj моего ответа массиву в моем bitbucket.yml-скрипт. Но это возвращает мне неопределенность. Ниже приведен ответ curl:
{
"pagelen": 500,
"values": [
{
"status": "modified",
"old": {
"path": "bitbucket-pipelines.yml",
"escaped_path": "bitbucket-pipelines.yml",
"type": "commit_file",
"links": {
"self": {
"href": "https://api.bitbucket.org/2.0/repositories/{{workspace}}/{{repo_slug}}/src/{{commit_hash}}/bitbucket-pipelines.yml"
}
}
},
"lines_removed": 1,
"lines_added": 1,
"new": {
"path": "bitbucket-pipelines.yml",
"escaped_path": "bitbucket-pipelines.yml",
"type": "commit_file",
"links": {
"self": {
"href": "https://api.bitbucket.org/2.0/repositories/{{workspace}}/{{repo_slug}}/src/{{commit_hash}}/bitbucket-pipelines.yml"
}
}
},
"type": "diffstat"
}
],
"page": 1,
"size": 1
}
Здесь я хочу присвоить имена файлов из ответа «values[i].old[«path»]» массиву с помощью цикла, который будет перебирать значения, получать имена файлов и развертывать их :
for(i = 0; i<FILES.length; i ){
run deploy FILES[i].old["path"]}
Ниже я использовал bitbuckets API для скручивания моего ответа и присвоения его переменной «FILES»
FILES=$(узел -pe ‘JSON.parse(process.argv[1]).values’ «$(curl https://${BITBUCKET_USERNAME}:${BITBUCKET_APP_PASSWORD}@api.bitbucket.org/2.0/repositories/$BITBUCKET_WORKSPACE/$BITBUCKET_REPO_SLUG/diffstat/$BITBUCKET_COMMIT)»)
С помощью вышеупомянутого API я могу присвоить массив значений из ответа моему файлу переменных в моих конвейерах.yml-скрипт, но теперь основной блокировщик заключается в том, чтобы перебирать файловую переменную и запускать мой deploy cmd один за другим по именам файлов.
Любые зацепки были бы полезны.
PS: Я пытаюсь реализовать процесс CD с использованием конвейеров bitbucket, используя javascript / nodejs в качестве предпочтительного языка