Size: a a a

2021 August 06

DB

Dmitry Burmistrov in jenkins_ru
насколько я помню, вы только методы из shared lib юзете. попробуй оберунть это в кастомный степ
источник

DB

Dmitry Burmistrov in jenkins_ru
может, оттуда стрелять перестанет
источник

MM

Max Mazur in jenkins_ru
там все малость сложнее но попробую
источник
2021 August 09

А

Ал in jenkins_ru
Подскажите как запускать скрипты из package. json в pipeline



stage('Run all tests') { 
           steps {
               concurrently 'run:headless'
           }
       }



Установил плагин
concurrently
- не помогло.


Запустил через sh "npx cypres run ---headles..."

[Pipeline] sh
+ npx cypress run --headless --browser electron
[STARTED] Task without title.
[SUCCESS] Task without title.
[31mspawn ENOMEM [39m
[31mError: spawn ENOMEM [39m
[31m    at ChildProcess.spawn (internal/child_process.js:403:11) [39m
[31m    at spawn (child_process.js:562:9) [39m
[31m    at Object.fork (child_process.js:130:10) [39m
[31m    at /home/node/.cache/Cypress/8.2.0/Cypress/resources/app/packages/server/lib/plugins/index.js:107:25 [39m
[31m    at Promise.cancellationExecute [as _execute] (/home/node/.cache/Cypress/8.2.0/Cypress/resources/app/packages/server/node_modules/bluebird/js/release/debuggability.js:406:9) [39m
[31m    at Promise._resolveFromExecutor (/home/node/.cache/Cypress/8.2.0/Cypress/resources/app/packages/server/node_modules/bluebird/js/release/promise.js:518:18) [39m
[31m    at new Promise (/home/node/.cache/Cypress/8.2.0/Cypress/resources/app/packages/server/node_modules/bluebird/js/release/promise.js:103:10) [39m
[31m    at Object.init (/home/node/.cache/Cypress/8.2.0/Cypress/resources/app/packages/server/lib/plugins/index.js:54:10) [39m
[31m    at ProjectBase.<anonymous> (/home/node/.cache/Cypress/8.2.0/Cypress/resources/app/packages/server/lib/project-base.js:273:57) [39m
[31m    at Generator.next (<anonymous>:null:null) [39m
[31m    at /home/node/.cache/Cypress/8.2.0/Cypress/resources/app/packages/server/node_modules/tslib/tslib.js:117:75 [39m
[31m    at new Promise (<anonymous>:null:null) [39m
[31m    at Object.__awaiter (/home/node/.cache/Cypress/8.2.0/Cypress/resources/app/packages/server/node_modules/tslib/tslib.js:113:16) [39m
[31m    at ProjectBase.initializePlugins (/home/node/.cache/Cypress/8.2.0/Cypress/resources/app/packages/server/lib/project-base.js:267:24) [39m
[31m    at ProjectBase.<anonymous> (/home/node/.cache/Cypress/8.2.0/Cypress/resources/app/packages/server/lib/project-base.js:118:30) [39m
[31m    at Generator.next (<anonymous>:null:null) [39m
[31m    at fulfilled (/home/node/.cache/Cypress/8.2.0/Cypress/resources/app/packages/server/node_modules/tslib/tslib.js:114:62) [39m
[31m [39m
источник

n

nibble in jenkins_ru
разве не через npm?
источник

АБ

Андрей Балашов... in jenkins_ru
через npm или yarn, очевидно же
источник

АБ

Андрей Балашов... in jenkins_ru
тут пайплайн вообще причем?
источник

n

nibble in jenkins_ru
да хз, я бы просто шелл команду втулил
источник

АБ

Андрей Балашов... in jenkins_ru
Ну так :
sh """
yarn
yarn build
yarn start
"""
источник

АБ

Андрей Балашов... in jenkins_ru
все
источник

АБ

Андрей Балашов... in jenkins_ru
А еще можно прям команды из package.json выполнять из shell, например
cross-env NODE_ENV=production babel src --config-file ./.babelrc --out-dir dist --copy-files && node transformScssPaths dist
источник

АБ

Андрей Балашов... in jenkins_ru
но это в любом случае разрабом должнол быть заложено как обычная команда
источник

А

Ал in jenkins_ru
Можно еще раз. Мне туго доходит)


pipeline {
   
   agent {docker { image 'cypress/base:14.17.0' }}
   
       stages {

       stage('Check node % cypress') {
           steps {
               sh 'npm install'
               sh 'npm install cypress'
           }
       }
       stage('Run all tests') {
           steps {
               npm 'npx cypress run --headless'
           }
       }
       // stage('Build a report') {
       //     steps {
       //         npm 'allure: generate report'
       //     }
       // }
       stage('CleanWorkspace') {
           steps {
               cleanWs()
           }
       }
   }  
}



Вот pipeline

Вот scripts 👌
 
   "run:headless": "npx cypress run --headless --browser chrome --env allure=true",

   "allure:generate report": "allure generate allure-results --clean -o allure-report && allure open allure-report"
источник

А

Ал in jenkins_ru
Понимаю что моно сразу из steps вызвать команаду bash
источник

АБ

Андрей Балашов... in jenkins_ru
можно, но в твоем случае будет тогда так:
sh """
npm i
npm i cypress
npm run npx cypress run --headless
npm allure: generate report
"""
источник

АБ

Андрей Балашов... in jenkins_ru
что-то типа этого можно
источник

АБ

Андрей Балашов... in jenkins_ru
ну или разбить по шагам как у тебя, только ты не понимаешь как работает Npm
источник

АБ

Андрей Балашов... in jenkins_ru
спроси у разработчика
источник

АБ

Андрей Балашов... in jenkins_ru
ну или в google, про cyprex первая ссылка
https://docs.cypress.io/guides/guides/command-line#How-to-run-commands
источник

Д☆

Дурак из фильма ☆★... in jenkins_ru
Коллеги. А подскажите как быть.

Вот есть дженкинс в докере. А тестировщики хотят что бы там в пайплайнах была возможность запускать всякие гиты с jmeter.

Но ведь я не могу просто так вкрячить в дженкинсовый контейнер всю эту дополнительную историю.
источник