You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-08-10 22:41:43 +02:00
Доработка формирования JF для тестов CLI
This commit is contained in:
@@ -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);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
72
service/templates/jenkins/cli_test_deb.txt
vendored
Normal file
72
service/templates/jenkins/cli_test_deb.txt
vendored
Normal 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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
71
service/templates/jenkins/cli_test_rpm.txt
vendored
Normal file
71
service/templates/jenkins/cli_test_rpm.txt
vendored
Normal 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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user