Jenkins shell command work flow - jenkins

Under the link http://docs.buildbot.net/latest/manual/cfg-buildsteps.html#shellcommand,
in the shell command it states that
On Windows, commands are run via cmd.exe /c which works well. However, if you're running a batch file, the error level does not get propagated correctly unless you add 'call' before your batch file's name: cmd=['call', 'myfile.bat', ...].
It says that the commands are executed cmd.exe.
I assume the cmd.exe is located in the c:\windows\system32\cmd.exe, am i right or it calls from some other location like in the windows startup .

The cmd.exe is the one found in the system path variable PATH for the Jenkins process. On my machine it is in C:\windows\system32\cmd.exe.

Related

Trying to run the command 'appium-doctor' on Windows Command Prompt but getting an error

I installed Appium Desktop for windows and used the Command Prompt to install Appium server and appium-doctor via npm but I get the following error after typing 'appium-doctor' in the command prompt:
'appium-doctor' is not recognized as an internal or external command, operable program or batch file.
How can I get appium-doctor to run?
Edit: I found out what was wrong. In %PATH%, I had two variable locations written down in the same line separated by a semicolon:
C:\Users\xyz\AppData\Roaming\npm;C:\Program Files\nodejs
I removed the semicolon and put the two variable locations in different lines:
C:\Users\xyz\AppData\Roaming\npm
C:\Program Files\nodejs
Everything is working now
you either need to specify the full path in cmd, or add the path to the executable in your os PATH environment variable

Notepad++ Execution Path

I have several shortcuts for running scripts with different commands. For example:
<Command name="node-js-run" Ctrl="no" Alt="no" Shift="yes" Key="119">cmd /K node "$(FULL_CURRENT_PATH)"</Command>
(in my user's appdata/roaming directory.)
However, when a script has run, the cmd window exits at
C:\Program Files (x86)\Notepad++>
This is annoying as I may wish to do something else with the script without having to re-navigate.
Is there a way to tweak the command so that when the script ends, the current directory of the cmd window is the same as the script it just ran please?

How do I install Tomcat service as Automatic (Delayed Start)?

I created an installer with install4j that calls the provided Tomcat service.bat file to create a Windows service.
That works fine, but is there anyway to modify the service.bat so by default the installed service is Automatic (Delayed Start) as opposed to Automatic or Manual?
According to this page:
http://tomcat.apache.org/tomcat-7.0-doc/windows-service-howto.html
The --Startup parameter takes either auto or manual with a default of manual if left empty. I'm a little confused because I left it out and my services are set to Automatic after installation, which contradicts that page.
Doesn't seem like a parameter for Automatic (Delayed Start) is supported so I ended up simply calling a .bat file after the service is installed. It sets the appropriate key/value in the Windows registry to mark a service as delayed-start.
reg add "HKLM\SYSTEM\CurrentControlSet\services\%1" /v DelayedAutostart /t REG_DWORD /d 0x1 /f"
Just run the batch file, passing an argument for the service name.
automaticDelayedStart.bat MyService
You can also write a batch script as below:
rem :To create service with name TestTomcat
call service.bat install TestTomcat
rem :To set tomcat service as a startup service and also set heap size.
call tomcat7 //US//TestTomcat --Startup=auto ++JvmOptions=-Xmx2048m
rem :To start service
call sc start TestTomcat
And from installer you can run this batch file using "Run executable or file" action.
Thanks
-Satish Lakhani

Jenkins fails to execute while running as winservice

I am able to run my script successfully from jenkins when jenking is opened using war file.
If set the jenkinks as winservice my script is failing in middle.
I am trying to run a start.bat file from jenkinks, this bat file calls a java class. again this java class uses bat file to run a plink command.
Execution stops at this stepsif jenkinks is running as winservice and also I can't view the output as it is running in background.
Is there any way to make jenkinks behave normal while running as winservice
Thanks
Try this:
1. Go to services (hit windows key, type "services", select "Services" from the list of matches).
2. Find the Jenkins service and open it's properties
3. Switch to Log On tab
4. Change the service to run as you, instead of local system user.
5. Restart service.
Alternative is to fix local system user account (probably environment variables) so it works as local system user.

Powershell why popup window, how to stop it

Not sure why when I execute a Python tools like pip or nosetests inside powershell, a separate popup command line windows will show, execute my command, then disappeared. This is annoying because I can hardly see the executable output, especially the last few lines before the popup close.
I assume there are some setting I can change to stop the popup?
I am using Powershell 2.0 in Windows 7.
Powershell is not cmd.exe, and it has a different console interface. More than likely, your py tools are writing to a non-existent shell window. You may be able to get around this by using the following syntax:
cmd /c script.py
What you do when you execute the python scripts directly from the PS prompt is fire-off a DOS shell for the period of time it takes for the command to complete. Since there's no 'pause' implemented, the shell window closes when the command completes.
A test script
# tester.py, just a test
print "This is a test script, that is all."
Output in PS:
C:\src\python
{powem} [36] --> .\tester.py
C:\src\python
{powem} [37] --> cmd /c .\tester.py
This is a test script, that is all.
mp
For someone has similar problem, please have a look at this answer, I think this solution eventually solved my problem. and in my case, I have to restart my computer to get it all working.

Resources