Я создаю контейнер jenkins и хочу установить KeycloakSecurityRealm в начальном потоке.У меня уже есть скрипт, который отлично работает для настроек по умолчанию:
import hudson.*
import hudson.model.*
import jenkins.*
import jenkins.model.*
import java.util.logging.Logger
import hudson.security.*
import java.util.*
import com.michelin.cio.hudson.plugins.rolestrategy.*
import java.lang.reflect.*
import org.jenkinsci.plugins
/*
NOTE: that megascript should be split someday, when my groovy skills improves.
*/
Thread.start {
//vbles definition
def logger = Logger.getLogger("")
def instance = Jenkins.getInstance()
def pm = instance.getPluginManager()
def uc = instance.getUpdateCenter()
def installed = false
// More code...
//No plugins to update. Security can be set
logger.info("All plugins are up to date")
logger.info("Setting security")
// logger.info("Creating initial user")
// hudsonRealm.createAccount("USER","USER")
logger.info("Creating reaml")
def keycloakSecurityRealm = keycloakRealm.createSecurityComponents()
//realm based on jenkins database
logger.info("Setting Security realm to KEYCLOAK")
instance.setSecurityRealm(keycloakSecurityRealm)
//not anonymous read allowed
Этот код вылетает без какой-либо информации.Я хотел бы отладить контейнер, чтобы проверить, могу ли я выполнить шаг, на котором происходит сбой контейнера, для подключения интерактивной консоли:
![enter image description here](https://i.stack.imgur.com/lgtAz.png)
Можно выполнить
docker run -ti 3ed
И у меня есть доступ к контейнеру от имени root.
Проблема в том, что я не могу отладить скрипт.Я проверил, что есть несколько способов использования jdb , но во всех случаях для его запуска необходим почтовый класс java.Исходный скрипт работал при вызове без изменений, поэтому он запускает файл без каких-либо классов.
Как я могу отлаживать этот вид java-скриптов внутри контейнера?
Спасибо.