1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-08-10 22:41:43 +02:00

Доработка формирования JF для тестов CLI

This commit is contained in:
Anton Titovets
2025-07-05 23:51:04 +03:00
parent 74cb136968
commit b3618d419c
3 changed files with 162 additions and 2 deletions

View File

@@ -6,6 +6,8 @@
Перем ШаблонCliWindows;
Перем ШаблонOsWindows;
Перем ШаблонOsLinux;
Перем ШаблонCliRpm;
Перем ШаблонCliDeb;
Перем ШаблонШага;
Перем ШаблонВыполнения;
@@ -16,6 +18,8 @@
ПутьШаблонаCliWindows = КаталогШаблонов + "cli_test_windows.txt";
ПутьШаблонаOsWindows = КаталогШаблонов + "os_test_windows.txt";
ПутьШаблонаOsLinux = КаталогШаблонов + "os_test_linux.txt";
ПутьШаблонаCliRpm = КаталогШаблонов + "cli_test_rpm.txt";
ПутьШаблонаCliDeb = КаталогШаблонов + "cli_test_deb.txt";
ПутьШаблонаШага = КаталогШаблонов + "test_stage.txt";
ПутьШаблонаВыполнения = КаталогШаблонов + "test_exec.txt";
@@ -29,6 +33,12 @@
ШаблонOsLinux = Новый ДвоичныеДанные(ПутьШаблонаOsLinux);
ШаблонOsLinux = ПолучитьСтрокуИзДвоичныхДанных(ШаблонOsLinux);
ШаблонCliRpm = Новый ДвоичныеДанные(ПутьШаблонаCliRpm);
ШаблонCliRpm = ПолучитьСтрокуИзДвоичныхДанных(ШаблонCliRpm);
ШаблонCliDeb = Новый ДвоичныеДанные(ПутьШаблонаCliDeb);
ШаблонCliDeb = ПолучитьСтрокуИзДвоичныхДанных(ШаблонCliDeb);
ШаблонШага = Новый ДвоичныеДанные(ПутьШаблонаШага);
ШаблонШага = ПолучитьСтрокуИзДвоичныхДанных(ШаблонШага);
@@ -61,7 +71,9 @@
ФайлJenkinsOS = КаталогWorkflow + "os_test_" + Язык;
ФайлJenkinsOSRPM = КаталогWorkflow + "os_rpm_test_" + Язык;
ФайлJenkinsOSDEB = КаталогWorkflow + "os_deb_test_" + Язык;
ФайлJenkinsCLI = КаталогWorkflow + "cli_test_" + Язык;
ФайлWindowsCLI = КаталогWorkflow + "cli_test_" + Язык;
ФайлRpmCLI = КаталогWorkflow + "cli_rpm_test_" + Язык;
ФайлDebCLI = КаталогWorkflow + "cli_deb_test_" + Язык;
ТекстВыполненияOS = ПолучитьТекстВыполнения(ТаблицаТестов, СписокБиблиотек, Параметры, МодульТестов);
ТекстВыполненияCLI = ПолучитьТекстВыполнения(ТаблицаТестов, СписокБиблиотек, Параметры, МодульТестовCLI, "CLI_");
@@ -71,11 +83,16 @@
ТекстJFOSRPM = СтрШаблон(ШаблонOsLinux, Язык, ТекстВыполненияOS, "Rpm-Agent");
ТекстJFOSDEB = СтрШаблон(ШаблонOsLinux, Язык, ТекстВыполненияOS, "Deb-Agent");
ТекстJFCLIRPM = СтрШаблон(ШаблонCliRpm, Язык, ТекстВыполненияOS, "Rpm-Agent");
ТекстJFCLIDEB = СтрШаблон(ШаблонCliDeb, Язык, ТекстВыполненияOS, "Deb-Agent");
ПолучитьДвоичныеДанныеИзСтроки(ТекстJFOS).Записать(ФайлJenkinsOS);
ПолучитьДвоичныеДанныеИзСтроки(ТекстJFOSRPM).Записать(ФайлJenkinsOSRPM);
ПолучитьДвоичныеДанныеИзСтроки(ТекстJFOSDEB).Записать(ФайлJenkinsOSDEB);
ПолучитьДвоичныеДанныеИзСтроки(ТекстJFCLI).Записать(ФайлJenkinsCLI);
ПолучитьДвоичныеДанныеИзСтроки(ТекстJFCLI).Записать(ФайлWindowsCLI);
ПолучитьДвоичныеДанныеИзСтроки(ТекстJFCLIRPM).Записать(ФайлRpmCLI);
ПолучитьДвоичныеДанныеИзСтроки(ТекстJFCLIDEB).Записать(ФайлDebCLI);
КонецПроцедуры

View File

@@ -0,0 +1,72 @@
def runCommand(String command) {
if (isUnix()) {
sh(script: command)
} else {
bat(script: command)
}
}
pipeline {
agent {
label '%3' // Имя или метка агента
}
stages {
stage('Remove oint') {
steps {
script {
// Удаляем oint, если он установлен
sh 'sudo dpkg -r oint || echo "oint not installed"'
}
}
}
stage('Download oint package') {
steps {
script {
// Скачиваем новый deb-пакет oint
sh 'wget -O oint_1.26.0_all_%1.deb https://jenkins.openintegrations.dev/job/OpiRelease/lastSuccessfulBuild/artifact/1.26.0/oint_1.26.0_all_%1.deb '
}
}
}
stage('Install oint package') {
steps {
script {
// Устанавливаем скаченный пакет
sh 'sudo dpkg -i oint_1.26.0_all_%1.deb'
}
}
}
stage('Prepare'){
steps{
withCredentials([string(credentialsId: 'gpgkey', variable: 'GPGKEY')]) {
sh 'gpg --quiet --batch --yes --decrypt --passphrase="$GPGKEY" --output ./data.json ./data.json.gpg'
}
}
}
%2
}
post{
always{
script {
withCredentials([string(credentialsId: 'gpgkey', variable: 'GPGKEY')]) {
sh 'rm "./data.json.gpg"'
sh 'gpg --batch --symmetric --cipher-algo AES256 --passphrase="$GPGKEY" ./data.json'
sh 'rm "./data.json"'
}
withCredentials([gitUsernamePassword(credentialsId: 'gitmain', gitToolName: 'Default')]) {
sh "git config user.email vitaly.the.alpaca@gmail.com"
sh 'git config user.name "Vitaly the Alpaca (bot)"'
sh "git config --global core.ignorecase true"
sh "git add ."
sh 'git commit -m "Test data update (Jenkins)"'
sh "git push origin HEAD:main"
}
}
}
}
}

View File

@@ -0,0 +1,71 @@
def runCommand(String command) {
if (isUnix()) {
sh(script: command)
} else {
bat(script: command)
}
}
pipeline {
agent {
label '%3' // Имя или метка агента
}
stage('Remove oint') {
steps {
script {
// Удаляем oint, если он установлен
sh 'sudo rpm -e oint || echo "oint not installed"'
}
}
}
stage('Download oint package') {
steps {
script {
// Скачиваем новый rpm-пакет oint
sh 'wget -O oint-1.26.0-1.noarch_%1.rpm https://jenkins.openintegrations.dev/job/OpiRelease/lastSuccessfulBuild/artifact/1.26.0/oint-1.26.0-1.noarch_%1.rpm '
}
}
}
stage('Install oint package') {
steps {
script {
// Устанавливаем скаченный пакет
sh 'sudo rpm -ivh --replacepkgs oint-1.26.0-1.noarch_%1.rpm'
}
}
}
stage('Prepare'){
steps{
withCredentials([string(credentialsId: 'gpgkey', variable: 'GPGKEY')]) {
sh 'gpg --quiet --batch --yes --decrypt --passphrase="$GPGKEY" --output ./data.json ./data.json.gpg'
}
}
}
%2
}
post{
always{
script {
withCredentials([string(credentialsId: 'gpgkey', variable: 'GPGKEY')]) {
sh 'rm "./data.json.gpg"'
sh 'gpg --batch --symmetric --cipher-algo AES256 --passphrase="$GPGKEY" ./data.json'
sh 'rm "./data.json"'
}
withCredentials([gitUsernamePassword(credentialsId: 'gitmain', gitToolName: 'Default')]) {
sh "git config user.email vitaly.the.alpaca@gmail.com"
sh 'git config user.name "Vitaly the Alpaca (bot)"'
sh "git config --global core.ignorecase true"
sh "git add ."
sh 'git commit -m "Test data update (Jenkins)"'
sh "git push origin HEAD:main"
}
}
}
}
}