Use the divide and conquer method. You have two options: change your script so that it displays what it does and how much is needed for each step. The second option is to make fewer scripts to perform actions such as:
- get the source code
- compile / create an application,
- run the test
- create a package
- send package
- archive magazines
- send a notification.
The most problematic is usually the first step: get the source code from GIT or SVN or Mercurial, or something else that you have as a version control system. Make sure this step is not included in your script.
During the job, Jenkins captures the output and uses AJAX to display the result in your browser. In the script, make sure you follow the standard output for each step or several steps. Some languages ββcache standard output so that you can only see results at the end.
You can also create log files that can be useful for archiving and checking activity status for older runs. From my experience of using Jenkins with more than 10 steps, you need to create a specialized application that can carry out several stages, such as a "robot infrastructure".
source share