This commit is contained in:
dima
2024-11-11 00:17:33 +03:00
parent 015d96995e
commit 66471a8a89
17 changed files with 252 additions and 137 deletions

30
Jenkinsfile vendored
View File

@ -11,6 +11,7 @@ pipeline {
string(name: 'DB_USER', defaultValue: 'postgres', description: 'Имя пользователя базы данных')
string(name: 'DB_NAME', defaultValue: 'mydb', description: 'Имя базы данных')
string(name: 'BACKUP_DIR', defaultValue: '/var/backups/postgresql', description: 'Директория для бэкапа')
string(name: 'TASKS', defaultValue: '', description: 'Список тегов задач для выполнения (setup,firewall,init,configure,database,user,backup)')
}
stages {
stage('Clone repository') {
@ -37,19 +38,24 @@ pipeline {
}
}
}
stage('Install PostgreSQL') {
stage('Run PostgreSQL Playbook') {
steps {
ansiblePlaybook(
playbook: 'install_postgresql.yml',
inventory: "inventory.yml",
extraVars: [
postgres_user: params.DB_USER,
postgres_password: PSQL_PASSWORD,
postgres_db: params.DB_NAME,
backup_dir: params.BACKUP_DIR,
ansible_ssh_private_key_file: env.DECRYPTED_KEY_FILE
]
)
script {
def tagsString = params.TASKS ? params.TASKS.split(',').join(',') : ''
ansiblePlaybook(
playbook: 'playbooks/install_postgresql.yml',
inventory: "inventory.yml",
extraVars: [
postgres_user: params.DB_USER,
postgres_password: PSQL_PASSWORD,
postgres_db: params.DB_NAME,
backup_dir: params.BACKUP_DIR,
ansible_ssh_private_key_file: env.DECRYPTED_KEY_FILE
],
tags: tagsString
)
}
}
}
}