Set up for build with Jenkins
parent
bf7dfcd9ce
commit
c4d452be42
|
@ -0,0 +1,52 @@
|
|||
# Archivos generados por el empaquetado Debian
|
||||
*.deb
|
||||
*.build
|
||||
*.buildinfo
|
||||
*.changes
|
||||
*.dsc
|
||||
*.tar.gz
|
||||
*.orig.tar.*
|
||||
*.substvars
|
||||
.debhelper/
|
||||
debian/files
|
||||
debian/*.debhelper.log
|
||||
debian/tmp/
|
||||
debian/*/
|
||||
debian/oglog/*
|
||||
|
||||
# Archivos de quilt (parches en source format 3.0)
|
||||
patches/
|
||||
.series
|
||||
|
||||
# Directorios comunes de compilación
|
||||
build/
|
||||
dist/
|
||||
|
||||
# Archivos de Python que no deben subirse
|
||||
__pycache__/
|
||||
*.pyc
|
||||
*.pyo
|
||||
*.pyd
|
||||
*.egg-info/
|
||||
|
||||
# Archivos de backup / edición
|
||||
*~
|
||||
*.swp
|
||||
*.bak
|
||||
*.log
|
||||
|
||||
# Archivos y carpetas de IDEs / entornos
|
||||
.vscode/
|
||||
.idea/
|
||||
*.code-workspace
|
||||
|
||||
# Archivos de control de versiones
|
||||
*.orig
|
||||
*.rej
|
||||
|
||||
# Carpetas de control de Git (si copias desde otro repositorio)
|
||||
.git/
|
||||
|
||||
# Archivos de MacOS y Windows
|
||||
.DS_Store
|
||||
Thumbs.db
|
|
@ -0,0 +1,9 @@
|
|||
# Changelog
|
||||
## [0.1.0] - 2025-08-25
|
||||
|
||||
### Added
|
||||
- Initial components: Opensearch, Grafana, Prometheus, journal-remote, filebeat, journalbeat.
|
||||
- Initial Dashboards Created: Estado_actual_de_los_clientes.json filebeat-clients.json Node_Exporter.json ogboot-logs.json ogcore-logs.json ogdhcp-logs.json ogrepo-logs.json Peticiones_nginx.json Traceo_y_comandos.json Uso_de_IPs_de_subred.json
|
||||
- Datasources Configured in Grafana: Opensearch, Mysql, Prometheus.
|
||||
- Pipelines configured in Opensearch: master_pipeline , filter_tftp_pipeline, filter_ogboot_pipeline, filter_ogdhcp_pipeline, kea_dhcp_pipeline, ogrepo_pipeline, docker_logs_pipeline, json_parse_pipeline, parse_nginx_logs, filebeat_opengnsys_pipeline
|
||||
- Debian packaging.
|
|
@ -0,0 +1,104 @@
|
|||
@Library('jenkins-shared-library') _
|
||||
pipeline {
|
||||
agent {
|
||||
label 'jenkins-slave'
|
||||
}
|
||||
environment {
|
||||
DEBIAN_FRONTEND = 'noninteractive'
|
||||
DEFAULT_DEV_NAME = 'Opengnsys Team'
|
||||
DEFAULT_DEV_EMAIL = 'opengnsys@qindel.com'
|
||||
}
|
||||
options {
|
||||
skipDefaultCheckout()
|
||||
}
|
||||
parameters {
|
||||
string(name: 'DEV_NAME', defaultValue: '', description: 'Nombre del desarrollador')
|
||||
string(name: 'DEV_EMAIL', defaultValue: '', description: 'Email del desarrollador')
|
||||
}
|
||||
stages {
|
||||
stage('Prepare Workspace') {
|
||||
steps {
|
||||
script {
|
||||
env.BUILD_DIR = "${WORKSPACE}/oglog"
|
||||
sh "mkdir -p ${env.BUILD_DIR}"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('Checkout') {
|
||||
steps {
|
||||
dir("${env.BUILD_DIR}") {
|
||||
checkout scm
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('Generate Changelog') {
|
||||
when {
|
||||
expression {
|
||||
return env.TAG_NAME != null
|
||||
}
|
||||
}
|
||||
steps {
|
||||
script {
|
||||
def devName = params.DEV_NAME ? params.DEV_NAME : env.DEFAULT_DEV_NAME
|
||||
def devEmail = params.DEV_EMAIL ? params.DEV_EMAIL : env.DEFAULT_DEV_EMAIL
|
||||
|
||||
generateDebianChangelog(env.BUILD_DIR, devName, devEmail)
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Generate Changelog (Nightly)'){
|
||||
when {
|
||||
branch 'main'
|
||||
}
|
||||
steps {
|
||||
script {
|
||||
def devName = params.DEV_NAME ? params.DEV_NAME : env.DEFAULT_DEV_NAME
|
||||
def devEmail = params.DEV_EMAIL ? params.DEV_EMAIL : env.DEFAULT_DEV_EMAIL
|
||||
generateDebianChangelog(env.BUILD_DIR, devName, devEmail,'nightly')
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Build') {
|
||||
steps {
|
||||
script {
|
||||
construirPaquete(env.BUILD_DIR, "../artifacts", "172.17.8.68", "/var/tmp/opengnsys/debian-repo/oglog")
|
||||
}
|
||||
}
|
||||
}
|
||||
stage ('Publish to Debian Repository') {
|
||||
when {
|
||||
expression {
|
||||
return env.TAG_NAME != null
|
||||
}
|
||||
}
|
||||
agent { label 'debian-repo' }
|
||||
steps {
|
||||
script {
|
||||
// Construir el patrón de versión esperado en el nombre del paquete
|
||||
def versionPattern = "${env.TAG_NAME}-${env.BUILD_NUMBER}"
|
||||
publicarEnAptly('/var/tmp/opengnsys/debian-repo/oglog', 'opengnsys-devel', versionPattern)
|
||||
}
|
||||
}
|
||||
}
|
||||
stage ('Publish to Debian Repository (Nightly)') {
|
||||
when {
|
||||
branch 'main'
|
||||
}
|
||||
agent { label 'debian-repo' }
|
||||
steps {
|
||||
script {
|
||||
// Construir el patrón de versión esperado en el nombre del paquete
|
||||
def versionPattern = "-${env.BUILD_NUMBER}~nightly"
|
||||
publicarEnAptly('/var/tmp/opengnsys/debian-repo/oglog', 'nightly', versionPattern)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
post {
|
||||
always {
|
||||
notifyBuildStatus('opengnsys@qindel.com')
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue