Как передать глобальные параметры учетных данных jenkins из сценария bash

Как запустить пакетный скрипт с сервера, чтобы запустить задание в Jenkins, которое использует глобальные учетные данные (секретный файл), такие как пароль для сервера базы данных?

Я создал одно параметризованное задание в Jenkins, которое выполняет команду bash, размещенную на сервере, для резервного копирования базы данных, для чего это пакетное задание использует пароль базы данных из глобальных учетных данных Jenkins. Это задание выполняется успешно, когда я выполняю его из консоли Jenkins.

Теперь я хочу выполнить это задание, используя сценарий bash, передав параметр (используя токен крошки), bash хочет использовать учетные данные, помещенные в глобальный набор учетных данных Jenkins. Может ли этот пакетный скрипт использовать глобальные учетные данные от Jenkins (в данном случае пароль базы данных?)

#!/bin/bash

##this generates the crumb token
crumb=$(curl -u "userid:pswd" -s 'http://<jenkins-url>:8080/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,":",//crumb)')

##this will call the remote job where i am passing the variables
curl -u "userid:pswd" -H "$crumb" -X POST  http://<jenkins-url>:8080/job/backup-to-aws/buildWithParameters?MYSQL_HOST=db_host&DATABASE_NAME=testdb&AWS_BUCKET_NAME=<bkt-name>&DB_PASSWD=<how should i pass this secret credential stored in jenkins>

Я хочу запустить пакетный скрипт с сервера, который использует сохраненные глобальные учетные данные Jenkins, такие как пароль db. Как использовать эти учетные данные при передаче сценария с сервера?


person Jagdish0886    schedule 16.08.2019    source источник


Ответы (1)


curl -u "userID:pswd" -H "$crumb" -X POST http://<jenkins-url>:8080/job/Daily-Backup-Job/buildWithParameters?J_DB_NAME=mysql&J_DB_SERVER=db_host&J_BUCKET_NAME=<name-of-my-bucket>&J_DB_PASSWD=${DB_PASSWD}&J_AWS_PASS=${AWS_SECRET_ACCESS_PASSWORD}

этот оператор успешно работал, где ${DB_PASSWD} и ${AWS_SECRET_ACCESS_PASSWORD} фактически являются параметрами, определенными в глобальной переменной учетных данных jenkins, т.е. DB_PASSWD и AWS_SECRET_ACCESS_PASSWORD являются идентификатором для этих учетных данных соответственно.

person Jagdish0886    schedule 16.08.2019
comment
Вы ответили на свой вопрос или добавили дополнительную информацию? Уточните и либо отредактируйте свой вопрос с этими деталями, либо отметьте его как ответ. Но вы должны предоставить больше контекста, если это ответ. - person Ian W; 16.08.2019
comment
Это ответ на мой предыдущий вопрос, я нашел его на других форумах или в исследованиях, разместил его здесь с решением. При отправке я уже разместил это как ответ - person Jagdish0886; 16.08.2019
comment
Извините, я не уверен. У меня это отображается как "1 ответ" - person Jagdish0886; 16.08.2019
comment
Да, он показывает «1 ответ», но я предлагаю вам принять ответ, нажав на галочку, тем самым превращая его в зеленый. - person Ian W; 19.08.2019
comment
Хорошо, спасибо, что поделились этим, я сделал, как было предложено :) - person Jagdish0886; 19.08.2019