Size: a a a

2020 August 18

D

Dentaky in jenkins_ru
А я не хочу этого делать, т.к. ночью сплю допустим)
источник

D

Denis 災 nobody in jenkins_ru
батник где запускаются
задача 1 - сборка
задача 2 - деплой
если что-то не так - другой батник только с задача2
источник

D

Denis 災 nobody in jenkins_ru
проще некуда
источник

D

Dentaky in jenkins_ru
Ок, концепцию я в целом понял. Вроде никто против токенов не высказался. Значит продолжу юзать.
источник

II

Igor Ivanov in jenkins_ru
а можно пайплайнам в "нулевой" столбец таблички стейджей тоже подкидывать какие-нибудь осмысленные строчки, наподобие вон того "revision skips CI", которое currentBuild.description?
источник

DB

Dmitry Burmistrov in jenkins_ru
Dentaky
Ок, концепцию я в целом понял. Вроде никто против токенов не высказался. Значит продолжу юзать.
у токенов один недостаток - их только руками менеджить можно. через IaC не раздеплоишь
источник

E

Elenhil in jenkins_ru
Dmitry Burmistrov
у токенов один недостаток - их только руками менеджить можно. через IaC не раздеплоишь
hashicorp vault?
источник

E

Elenhil in jenkins_ru
или это уже оверинжениринг
источник

DB

Dmitry Burmistrov in jenkins_ru
а как он может помочь с токенами дженкинса? или уже умеет?
источник

DB

Dmitry Burmistrov in jenkins_ru
точнее, дженкинс уже умеет держать токены в волте?
источник

АБ

Андрей Балашов... in jenkins_ru
А чего бы и нет?
источник

E

Elenhil in jenkins_ru
хм. Вообще да, скорее не умеет
источник

E

Elenhil in jenkins_ru
скорее волт не умеет менеджить дженкинс
источник

E

Elenhil in jenkins_ru
хотя мб у них есть какой-то скриптинг секрет энжин, типа "выполни этот скрипт и считай секрет из аутпута"
источник

DB

Dmitry Burmistrov in jenkins_ru
This plugin allows authenticating against Vault using the AppRole authentication backend
надо ковырнуть, как время будет. может, и получится их связать
источник

E

Elenhil in jenkins_ru
типа как с базами, но более универсально
источник
2020 August 19

DS

Dmitry Sergeev in jenkins_ru
Dentaky
Так конечно берутся артефакты для прода, которые прошли тесты и т.д.) Меня именно принцип запуска людьми интересует, далекими от непрерывной интеграции. И как можно перезапустить с зафейленного стэйджа, если такое случилось, о5 же этому человеку.
я даю доступ людям в jenkins, сами выкатывают шо хотят. Схема с батниками странная, чем плох веб-интерфейс?
источник

VS

Vitaly Savosin in jenkins_ru
Доброго дня!
Коллеги, есть вопрос по использованию groovy скриптов в jenkins.
Задача выглядит следующим образом.
Jenkinsfile и рабочий код лежат в разных репозиториях.
Всё работает.
Сейчас разработчики попросили настроить для джобы при запуске возможность выбора гитовых тегов из репы с кодом.
Я это реализовал с помощью Active Choices Reactive Parameter

import jenkins.model.*
credentialsId = 'bitbucket_creds'

def credentials = com.cloudbees.plugins.credentials.CredentialsProvider.lookupCredentials(
 com.cloudbees.plugins.credentials.common.StandardUsernameCredentials.class,
 Jenkins.instance,
 null,
 null)
 .find{ it.id == credentialsId }

def url = "git@bitbucket.org:company/working_code.git"
url = url.replace("git@bitbucket.org:", "")
def gettags = ("git ls-remote -t https://${credentials.getId()}:${credentials.getPassword().getPlainText()}@bitbucket.org/${url}").execute()

def result = gettags.text.readLines().collect

{
 item ->
 def option = "${item.split()[1].replaceAll('refs/tags/', '').replaceAll("\\^\\{\\}", '')}"

 return "${option}"
}

return result

При этом теги выводятся в порядке возрастания и первым показывается самый первый тег.
Мне необходимо сделать обратный порядок. Чтобы в списке первым отображался последний, то есть самый "свежий", тег.
У команды git ls-remote есть соответствующий параметр
--sort='-v:refname'

Однако когда в скрипте я добавляю этот параметр и соответствующая строка выглядит вот так
def gettags = ("git ls-remote --sort='-v:refname' -t https://${credentials.getId()}:${credentials.getPassword().getPlainText()}@bitbucket.org/${url}").execute()
то скрипт перестаёт работать. В косоли эта же команда работает и без одинарых кавычек.
Пробовал и так в скрипте. Всё равно не работает.

Может быть у кого-то есть идеи как это реализовать или почему может не работать скрипт при добавлении параметра sort?
источник

E

Elenhil in jenkins_ru
Vitaly Savosin
Доброго дня!
Коллеги, есть вопрос по использованию groovy скриптов в jenkins.
Задача выглядит следующим образом.
Jenkinsfile и рабочий код лежат в разных репозиториях.
Всё работает.
Сейчас разработчики попросили настроить для джобы при запуске возможность выбора гитовых тегов из репы с кодом.
Я это реализовал с помощью Active Choices Reactive Parameter

import jenkins.model.*
credentialsId = 'bitbucket_creds'

def credentials = com.cloudbees.plugins.credentials.CredentialsProvider.lookupCredentials(
 com.cloudbees.plugins.credentials.common.StandardUsernameCredentials.class,
 Jenkins.instance,
 null,
 null)
 .find{ it.id == credentialsId }

def url = "git@bitbucket.org:company/working_code.git"
url = url.replace("git@bitbucket.org:", "")
def gettags = ("git ls-remote -t https://${credentials.getId()}:${credentials.getPassword().getPlainText()}@bitbucket.org/${url}").execute()

def result = gettags.text.readLines().collect

{
 item ->
 def option = "${item.split()[1].replaceAll('refs/tags/', '').replaceAll("\\^\\{\\}", '')}"

 return "${option}"
}

return result

При этом теги выводятся в порядке возрастания и первым показывается самый первый тег.
Мне необходимо сделать обратный порядок. Чтобы в списке первым отображался последний, то есть самый "свежий", тег.
У команды git ls-remote есть соответствующий параметр
--sort='-v:refname'

Однако когда в скрипте я добавляю этот параметр и соответствующая строка выглядит вот так
def gettags = ("git ls-remote --sort='-v:refname' -t https://${credentials.getId()}:${credentials.getPassword().getPlainText()}@bitbucket.org/${url}").execute()
то скрипт перестаёт работать. В косоли эта же команда работает и без одинарых кавычек.
Пробовал и так в скрипте. Всё равно не работает.

Может быть у кого-то есть идеи как это реализовать или почему может не работать скрипт при добавлении параметра sort?
вы ошибку то хотя бы напишите
источник

E

Elenhil in jenkins_ru
ну и кавычки попробуйте заэкранировать
источник