Защита многоотраслевого конвейера Jenkins для проектов с открытым кодом - PullRequest
0 голосов
/ 11 сентября 2018

Как правильно защитить многоотраслевой конвейер Jenkins для проектов с открытым исходным кодом?

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

  • трубопровод
  • зависимости конвейера
  • тестовый набор
  • ...

Для чего это стоило, я проводил исследования, и моя новичок точка зрения такова:

1 / Найти способ запретить выполнение модифицированного кода для:

  • трубопровод
  • зависимости конвейера

=> это вообще возможно?

2 / выполнить сборку только на агенте, а не на мастере

3 / найти способ правильно блокировать агентов для доступа к секретам (например, github / slack tokens)

4 / Найти способ смягчить возможности вредоносного тестового кода

  • агент должен использовать подсеть только с этим агентом и мастером
  • агент должен работать на отдельной ВМ / контейнере

1 Ответ

0 голосов
/ 11 сентября 2018

2 / выполнить сборку только на агенте, а не на мастере : - Никогда не используйте «Агент Любой», вместо этого используйте метки Агента на вашем конвейере. Вы можете переключить свой узел при выполнении конвейера, упомянув Agent на уровне стадии.

3 / найти способ правильно блокировать агентов для доступа к секретам (например, github / slack tokens) : - Используйте метод Credentials и объявите его в разделе среды.

  environment {
      YOUR_PASSWORD = credentials('<CREDENTIAL_ID>')
  }
...