You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

155 lines
5.9 KiB

RETRY = '3'
TIMEOUT = '60' // Adapt it based on the hardware resources and internet connection speed of your Jenkins agent.
pipeline {
agent {
label 'x86_64 && bm'
}
options {
timestamps()
parallelsAlwaysFailFast()
}
environment {
VAGRANT_NO_COLOR = '1'
}
stages {
stage('EL9') {
matrix {
axes {
axis {
name 'EL9'
values 'oracle9', 'rhel9', 'rocky9'
}
}
stages {
stage('EL9 to AlmaLinux OS 9') {
steps {
retry(RETRY) {
timeout(time: TIMEOUT, unit: 'MINUTES') {
sh script: 'vagrant up $EL9',
label: 'Create EL9 Machine'
sh script: 'vagrant ssh $EL9 -c \"sudo /home/vagrant/almalinux-deploy/almalinux-deploy.sh\"',
label: 'Start AlmaLinux Deploy'
sh script: 'vagrant destroy $EL9 -f',
label: 'Destroy the machine'
}
}
}
}
}
}
}
stage('EL8') {
matrix {
axes {
axis {
name 'EL8'
values 'oracle8', 'rhel8', 'rocky8'
}
}
stages {
stage('EL8 to AlmaLinux 8') {
steps {
retry(RETRY) {
timeout(time: TIMEOUT, unit: 'MINUTES') {
sh script: 'vagrant up $EL8',
label: 'Create EL8 machine'
sh script: 'vagrant ssh $EL8 -c \"sudo /home/vagrant/almalinux-deploy/almalinux-deploy.sh\"',
label: 'Start AlmaLinux Deploy'
sh script: 'vagrant destroy $EL8 -f',
label: 'Destroy the machine'
}
}
}
}
}
}
}
stage('CentOS Stream') {
matrix {
axes {
axis {
name 'CS'
values 'centos8stream', 'centos9stream'
}
}
stages {
stage('CS to AlmaLinux') {
steps {
retry(RETRY) {
timeout(time: TIMEOUT, unit: 'MINUTES') {
sh script: 'vagrant up $CS',
label: 'Create CentOS Stream machine'
sh script: 'vagrant ssh $CS -c \"sudo /home/vagrant/almalinux-deploy/almalinux-deploy.sh -d\"',
label: 'Start AlmaLinux Deploy'
sh script: 'vagrant destroy $CS -f',
label: 'Destroy the machine'
}
}
}
}
}
}
}
stage('EL8.5') {
matrix {
axes {
axis {
name 'EL85'
values 'centos8-5', 'oracle8-5', 'rhel8-5', 'rocky8-5'
}
}
stages {
stage('EL8.5 to AlmaLinux 8') {
steps {
retry(RETRY) {
timeout(time: TIMEOUT, unit: 'MINUTES') {
sh script: 'vagrant up $EL85',
label: 'Create EL8.5 machine'
sh script: 'vagrant ssh $EL85 -c \"sudo /home/vagrant/almalinux-deploy/almalinux-deploy.sh\"',
label: 'Start AlmaLinux Deploy'
sh script: 'vagrant destroy $EL85 -f',
label: 'Destroy the machine'
}
}
}
}
}
}
}
stage('EL8.4') {
matrix {
axes {
axis {
name 'EL84'
values 'centos8-4', 'oracle8-4', 'rhel8-4', 'rocky8-4'
}
}
stages {
stage('EL8.4 to AlmaLinux 8') {
steps {
retry(RETRY) {
timeout(time: TIMEOUT, unit: 'MINUTES') {
sh script: 'vagrant up $EL84',
label: 'Create EL8.4 machine'
sh script: 'vagrant ssh $EL84 -c \"sudo /home/vagrant/almalinux-deploy/almalinux-deploy.sh\"',
label: 'Start AlmaLinux Deploy'
sh script: 'vagrant destroy $EL84 -f',
label: 'Destroy the machine'
}
}
}
}
}
}
}
}
post {
always {
sh script: 'vagrant destroy -f',
label: 'Destroy All Machines'
cleanWs()
}
}
}