Попытка автоматизировать вход в jenkins, поскольку срок действия пароля истекает через несколько дней. Дженкинс устанавливает переменную среды $P4_TICKET. Я пытаюсь использовать это, чтобы пользователю не нужно было повторно входить в систему, чтобы ввести свой пароль.
echo $P4_TICKET > $P4TICKETS
Actual result : Unexpected exception while loading target: Perforce password (P4PASSWD) invalid or unset.
Ожидается: билеты perforce должны использоваться от jenkins. Здесь я пытаюсь скопировать в свою переменную окружения $P4TICKETS
$P4TICKETS
установлена на имя файла?$P4_TICKET
, установленное Дженкинсом, соответствует ожидаемому формату этого файла?Значение $P4TICKETS
не обязательно устанавливается в какой-либо клиентской среде, так что это первое, что нужно проверить. Клиент примет имя файла билетов по умолчанию ~/.p4tickets
, но оболочка не знает, следует ли использовать это значение для переменной среды $P4TICKETS
.
Файл .p4tickets
потенциально может содержать несколько билетов, проиндексированных по пользователю/порту; если значение Jenkins $P4_TICKET
- это просто билет (как вы получили бы от p4 login -p
), оно не будет распознано, если вы просто сбросите его в файл билета (потому что клиент не будет знать, какое соединение он использует).
P4_TICKET - это просто значение билета для учетных данных, которые есть у вашей работы jenkins.
Here i am trying to copy to my environment variable $P4TICKETS
Как упомянул Сэм, вашему файлу билетов ($P4TICKETS) нужны адрес сервера и пользователь вместе со значением билета. «Плагин p4» не раскрывает адрес сервера, поэтому вы не сможете записать действительную строку в файле билетов.
Что касается вашего вопроса «Попытка автоматизировать вход в jenkins», я не понимаю, что вам нужно делать. «Учетные данные Perforce password» войдут в систему для вас. Пожалуйста, дайте более подробную информацию.
Спасибо Сэму Стаффорду и Джей Брауну. Вы оба были правы. P4TICKETS не удалось найти только по хешу билетов. Мне пришлось включить P4PORT, P4USER и Tickets в ~/.p4tickets, а затем включить «ALL HOSTS» под учетными данными пользователей, с которыми я входил в jenkins. Это заставило меня войти в систему и продолжить
Спасибо:)