How to run shell commands in intellij after debugger ends - intellij-idea

I'm trying to spin up docker container when I run a particular configuration in intellij, which I have done successfully by adding a 'Before Launch external tool command', as described here:
IntelliJ IDEA: Running a shell script as a Run/Debug Configuration
What doesn't seem obvious though is how I stop the container when the program has finished running? There doesn't seem to be any options for after.
How do I run a shell script when my run configuration finishes? (Either by reaching it's end, or being forcefully stopped).

Related

how to automatically breakpoint when Django project fails in Docker environment

I have a Django project running in Docker environment, but it keeps on restarting due to some errors, which does not give me an opportunity to docker attach <container id> to further debug using PDB.
Is it possible to automatically pause the program at failure point and set breakpoint for further debug?
If python PDB is not capable to doing so, any other tools can do ?
On the deployment side, logging could help.

Starting a file from within the IDE

I want to start a powershell script within intellij, I have tried the powershell plugin but it doesn't allow me to open the script in a separate window. The script stops intellij and then asks me to start it again, but since intellij is closed and the script gets disconnected from it, I don't have the console window anymore and it keeps running in the background waiting for confirmation.
So my question is. How would I run a file from within intellij like when its ran it from file explorer, so it opens the file in its own window instead of the intellij console? I want it to be available in Run Configurations but I can't do it with the powershell plugin since all that the plugin does is open the script in the intellij terminal. I want to open this script in its own terminal, that is cmd.exe or powershell.exe instead of using the Terminal in IntelliJ.

Run redis-server as PyCharm configuration

Every time I start one of my PyCharm projects, I have to go into a terminal window and start redis with the command redis-server. How can I add this as a run/debug configuration so I can combine it with other parts of my app? My goal is to have a single compound configuration that starts a Django web server, background worker, and redis.
In the run\debug configuration menu you can add shell script. But Redis process only possible to stop with ctrl+c.

Jenkins CI - java.exe child process hangs after job is done

I have following problem: on my Jenkins 1.438 I have job with maven 3 application. When I run it, sometimes after build is completed successfully Jenkins child process - java.exe - still hangs in the system. It also holds a handle to POM file and when I run my job again i get error that POM file cannot be deleted and build fails. Does anyone know how to fix this? Jenkins runs on Windows Server 2008
We experienced the same problem with Jenkins (on a Linux server).
I'm not sure if you can achieve this with Powershell in Windows server (or use windows-port of bash etc), but for example we start and stop our builds in Jenkins with seperated starter and stopper shell scripts. The point: start script saves the PID of the java process being started into a text file, and the stop script reads it and kills after a given amount of time.

mono command line unit testing

I wrote a few nunit tests that I've run successfully in nunit on win7, and via MonoDevelop on my mac.
What I'd like to do now is run these tests non-stop (or until I kill it). I can't see any way to tell MonoDevelop to keep running over and over, so I'm trying to do this via the commandline.
Is there a way to run the MonoDevelop testing tool from the command line? I don't need reporting (my tests already report internally), just re-triggering every few minutes.
If there was a commandline tool, I could just wrap it in fabric or a shell script and just run it over and over...
Why don't you just use the normal nunit command line? It is contained with the standard Mono installation, available as nunit-console command.