Jenkins выполнить команду windows bat
24734 просмотра
3 ответа
Мой Дженкинс установлен в C:\Program Files (x86)\Jenkins
файл bat находится в C:\Users\Admin\workspace\demoWork\run.bat
Когда я запускаю этот bat-файл из cmd, все работает нормально. Но когда я пытаюсь из-за того, что Дженкинс выполнил пакетную команду, как упомянуто в Image, Jenkins отображает ошибку
Шаг сборки «Выполнить пакетную команду Windows», помеченный как сбой
Также внутри папки jenkins автоматически создается папка рабочей области с названием должности. Ребята, пожалуйста, объясните мне подробно
Ответы (3)
6 плюса
Tatkal, вы не можете выполнить команду, как на вашем изображении,
почему бы тебе просто не попробовать
C: \ Users \ Admin \ рабочее место \ demowork \ RUN.BAT
вызвать «C: \ users \ admin \ workspace \ demowork \ run.bat»
«Также внутри папки jenkins автоматически создается папка рабочей области с названием должности. Не могли бы вы, ребята, объяснить мне подробно» —
Дженкинс автоматически создает папку с названием должности, сохраняет данные о работах и другую информацию о сборке . вот как это работает. По умолчанию в задании jenkins вы можете получить доступ к своему рабочему пространству с помощью переменной $ WORKSPACE
Автор: hopetds Размещён: 08.01.2018 01:15
1 плюс
Вы вложили очень мало деталей в это, так что я пойду на чистую догадку ..
Пакетная команда «Выполнить Windows» предназначена для буквального выполнения кода, а не для выполнения файла. Для выполнения файла вы можете использовать эту команду:
запустите cmd.exe / c C: \ myprj \ mybat.bat
или вы можете взять содержимое файла .bat и переписать его в этой командной строке .
Принцип работы Jenkins заключается в том, что он создает свое собственное рабочее пространство для каждой работы, по сути, для изолированной среды, своей среды тестирования, поэтому его следует использовать для внесения изменений в код, которые затем будут переданы в вашу живую (рабочую) среду. Люди используют его для автоматизации некоторых задач, но это не основное применение Jenkins . если вышеупомянутое не поможет вам сообщить мне более подробную информацию об ошибке, и я могу попытаться помочь вам с ней.
Как запустить bat файл в jenkins
Мой Дженкинс установлен в C:\Program Files (x86)\Jenkins
файл bat находится в C:\Users\Admin\workspace\demoWork\run.bat
Когда я запускаю этот bat-файл из cmd, все работает нормально. Но когда я пытаюсь из-за того, что Дженкинс выполнил пакетную команду, как упомянуто в Image, Jenkins отображает ошибку
Шаг сборки «Выполнить пакетную команду Windows», помеченный как сбой
Также внутри папки jenkins автоматически создается папка рабочей области с именем должности. Ребята, пожалуйста, объясните мне подробно.
2 ответа
Tatkal, вы не можете выполнить команду, как на вашем изображении,
почему бы тебе просто не попробовать
C:\ Users \ Admin \ рабочее место \ demowork \ RUN.BAT
вызовите «C:\ users \ admin \ workspace \ demowork \ run.bat»
«Также внутри папки jenkins автоматически создается папка рабочего пространства с названием должности. Не могли бы вы, ребята, объяснить мне подробно» —
Дженкинс автоматически создает папку с названием должности, сохраняет данные о работах и другую информацию о сборке. вот как это работает. По умолчанию в задании jenkins вы можете получить доступ к своему рабочему пространству с помощью переменной $WORKSPACE
Вы вложили очень мало деталей в это, так что я пойду на чистую догадку..
Пакетная команда «Выполнить Windows» предназначена для буквального выполнения кода, а не для выполнения файла. Для выполнения файла вы можете использовать эту команду:
или вы можете взять содержимое файла.bat и переписать его в этой командной строке.
Принцип работы Jenkins заключается в том, что он создает свое собственное рабочее пространство для каждой работы, по сути, для изолированной среды, своей среды тестирования, поэтому его следует использовать для внесения изменений в код, которые затем будут перенесены в вашу живую (рабочую) среду. Люди используют его для автоматизации некоторых задач, но это не основное применение Jenkins. если вышеупомянутое не поможет вам сообщить мне более подробную информацию об ошибке, и я могу попытаться помочь вам с ней.
Как запустить файл bat в jenkins
Мой jenkins установлен в C:\Program Files (x86)\Jenkins
Файл bat находится в C:\Users\Admin\workspace\demoWork\run.bat
Когда я запускаю этот файл bat из cmd, все работает отлично. Но когда я пытаюсь выполнить jenkins, выполняя командную команду, как указано в Image, Jenkins отображает ошибку как
Построить шаг «Выполнять командную команду Windows» помечается как отказ
Также в папке jenkins автоматически создается папка рабочего пространства, созданная с именем названия работы. Можете ли вы, ребята, объяснить мне подробно
Ты вложил очень мало деталей в это, поэтому я собираюсь с чистой догадки..
Командная команда Execute Windows должна буквально выполнить код, а не выполнить файл. Чтобы выполнить файл, вы можете использовать эту команду:
или вы можете взять содержимое файла .bat и переписать его в этой командной строке.
Как работает Дженкинс, он создает свое собственное рабочее пространство для каждого задания, в основном для изолированной среды, своей тестовой структуры, поэтому ее необходимо использовать для изменения настроек кода, которые затем будут перенесены в вашу рабочую среду, Люди используют его для автоматизации некоторых задач, но это не основное использование Дженкинса. Если приведенное выше не поможет, сообщите мне более подробную информацию об ошибке, и я могу попробовать помочь вам с ней.
How to run bat file in jenkins
My jenkins is installed in C:\Program Files (x86)\Jenkins
bat file is located in C:\Users\Admin\workspace\demoWork\run.bat
When i run this bat file from cmd everything works fine. But when i try from jenkins executing batch command as mentioned in Image, Jenkins displays error as
Build step ‘Execute Windows batch command’ marked build as failure
Also inside jenkins folder automatically workspace folder gets created with Job title name. Can you guys please explain me in detail
3 Answers 3
Tatkal, you can’t execute a command like in your image,
why don’t you simply try
«Also inside jenkins folder automatically workspace folder gets created with Job title name. Can you guys please explain me in detail» —
Jenkins creates folder with job title name automatically, saves jobs data and other build info. this is how it works. By default in jenkins job you can access your workspace using $WORKSPACE variable
You have put very little detail into this so I’m going by pure guess..
The Execute Windows batch command is to literally execute code, not execute a file.. to execute the file you could use this command :
or you could take the contents of the .bat file and rewrite in in that command line..
The way Jenkins works is it creates its own workspace for each job, essentially to sandbox the environment, its a testing framework so it should be used to stage changes to code, which will then be pushed to your live(working) environment. People use it to automate some tasks, but this isnt the primary use of Jenkins.. if the above doesn’t help you let me know more details of the error and I can try help you with it.
Execute windows batch command from Jenkins fails but runs fine in cmd.exe
I am trying to run this command in jenkins after a MSbuild
Y: is a mapped network drive. This runs fine in cmd.exe but when trying to run it in Jenkins, I am getting the error Invalid drive specification .
Here is the output from jenkins:
Any help would be appreciated.
7 Answers 7
I too had a similar issue once. Try granting the Jenkins service «Logon as This account» right under services.msc and make sure the account you type there is the same as the one you use for running cmd.exe .
These commands based on Java JAR files worked for me:
cmd
net use x: \\
xcopy «dist\» x:\ /Y
And that’s it! I spent lot of time figure out this issue and nothing worked until I wrote CMD and NET USE!
Neither I didn’t need to change permission on jenkins service nor use runas command.
But I must mention that everyone had read and write access to the network drive.
Easy fix for most things.
- Make a batch command with what your trying to run, filename.bat with the command prompt text inside.
- Make a normal windows shortcut for the batch command, edit the shortcuts advanced properties and check the «Run as admin» (tricky tricky).
- Now run the filename.lnk shortcut from jenkins command line call, this will get you around all the jazz.
I had the same issue with my Windows Task running a batch file (I know it is not exactly same) where I tried to copy file to network location i.e. shared drive. I used the UNC path and mapped drive as well but the error was same. For me it was error number 4 — MS DOS error code. The solution was to use net use command! Hope that it helps.
The solution of adarshr (i.e., modifying the log on credentials of the service) has worked for me for a part of the problem: in my case, this allowed me to successfully check out a mercurial repository (using ssh protocol), which I could not do when using ‘Local System account’.
However, I still have different behavior between running a command-line script or running the same script from a jenkins ‘execute shell’ script in the build section. In my case, I compile a Python extension. In Jenkins, I cannot import the extension (I don’t see any error, but the execution simply stops, so I suspect it crashes).
If I uninstall the service and run the slave agent as a Java Web Start, I do get the same behavoir. It is a temporary fix for me, but it means that when I reboot the windows build machine, I have to manually re-start the Java Web Start application.
So -at least in my case- it is clear that this is a credential problem.