I have a bitbucket pipeline file bitbucket-pipelines.yml
which executes the file deploy.sh
on my DO droplet each time a new commit is made to the main branch.
On DO, deploy.sh
in turn calls pull.sh
which performs a set of actions:
refgator-api.py
process refgator-api.py
python3 refgator-api.py
It’s at this last step that my bitbucket pipeline will continue executing (consuming all my build minutes).
Is there any way that I can run the file refgator-api.py and exiting the session whilst still allowing it to run?
I’ve attempted using nohup
and &
as well as exit
. Neither result in a state where the pipeline disconnects from the DO droplet and stops and the application is running on the droplet.
image: atlassian/default-image:latest
pipelines:
default:
- step:
script:
- cat ./deploy.sh | ssh -tt root@xxx.xxx.xxx.xxx
- echo "Deploy step finished"
echo "Deploy Script Started"
cd
sh pull.sh
echo "Deploy script finished execution"
## Kills the current process which is restarted later
kill -9 $(pgrep -f refgator-api.py)
## And change to directory containing the repo
cd eg-api
## Pull from the repo
export GIT_SSH_COMMAND="ssh -i ~/.ssh/id_rsa.pub"
GIT_SSH_COMMAND="ssh -v" git pull git@bitbucket.org:myusername/myrepo.git
## Change to directory containing the python file to execute
cd refgator-api
python3 refgator-api.py &
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
Accepted Answer
Hi there @christianmacedo,
I could suggest using Supervisor as a more robust solution. You can follow the steps on how to install Supervisor here:
You could again put the python3 refgator-api.py
and then specify the path to the script in the supervisor config file as described in the tutorial:
command=/path/to/your_script.sh
Hope that this helps! Regards, Bobby
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.
Full documentation for every DigitalOcean product.
The Wave has everything you need to know about building a business, from raising funding to marketing your product.
Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.
New accounts only. By submitting your email you agree to our Privacy Policy
Scale up as you grow — whether you're running one virtual machine or ten thousand.
Sign up and get $200 in credit for your first 60 days with DigitalOcean.*
*This promotional offer applies to new accounts only.