SpecialistOff.NET / Вопросы / Статьи / Фрагменты кода / Резюме / Метки / Помощь / Файлы
Назадbuildbot checkconfig master.cfg
или
buildbot checkconfig /home/USERNAME/masterdir
buildbot reconfig BASEDIR
Примечание: формат и параметры подключения описаны здесь http://www.sqlalchemy.org/docs/dialects/
c['db_url'] = "sqlite:///state.sqlite"
c['db_url'] = "mysql://username:password@example.com/database_name?max_idle=300"
c['db_url'] = "postgresql://username:password@hostname/dbname"
Создать каталог /home/USERNAME/secrets
Создать внутри файлы с секретными данными. Имя файла является идентификатором переменной в конфигурационном файле
####### SECRETS
c['secretsProviders'] = [secrets.SecretInAFile(dirname="/home/USERNAME/secrets")]
...
factory = util.BuildFactory()
factory.addStep(
steps.Git(
repourl=util.Interpolate("https://%(secret:USERNAME)s:%(secret:PASSWORD)s@gitlab.specialistoff.net/remizoffalex/devops.git"),
mode='full',
method='fresh',
submodules=True
)
)
factory.addStep(
ShellCommand(
["wget", "-u", "user", "-p", util.Secret("USERNAME"), util.Interpolate("%(prop:urltofetch)s")]
)
)
Установить на все файлы секретов права 600
chmod 600 secrets/*
При задании параметров для ShellCommand не задавать переменный Env и не использовать символы подстановки типа ~ или ${param}
factory = util.BuildFactory() factory.addStep( steps.ShellCommand( command=["ls", "--la", "/home/USERNAME/workdir/dir1"], workdir='/home/USERNAME/hobbydir' ) )