Невозможно использовать билеты perforce, установленные jenkins, для автоматизации входа в систему perforce

Попытка автоматизировать вход в jenkins, поскольку срок действия пароля истекает через несколько дней. Дженкинс устанавливает переменную среды $P4_TICKET. Я пытаюсь использовать это, чтобы пользователю не нужно было повторно входить в систему, чтобы ввести свой пароль.

echo $P4_TICKET > $P4TICKETS

Actual result : Unexpected exception while loading target: Perforce password (P4PASSWD) invalid or unset.

Ожидается: билеты perforce должны использоваться от jenkins. Здесь я пытаюсь скопировать в свою переменную окружения $P4TICKETS


696
3

Ответы:

  1. Действительно ли ваша переменная $P4TICKETS установлена ​​на имя файла?
  2. Действительно ли значение $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. Это заставило меня войти в систему и продолжить

Спасибо:)