Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

bionary's avatar

Repo Deployment Service Advice

I am a solo developer and have limited command line / devops experience. I have gotten by just fine working with server provisioning such as runcloud and occasionally ssh-ing in to do what I need.

I've been using bitbucket for about 10 years to manage repos, but bitbucket has gotten incredibly bloated and confusing. for instance, after days of trying i still cannot run git pull origin from the command line on my server. It's nuts. I'm looking to divorce myself from bitbucket. Their "pipeline" system for deployment looks like I'd have to go back to college just to learn it.

I want simplicity.

I'm trying to implement a deployment flow that is simple:

  1. push local code to staging
  2. manually test code at staging
  3. push code to production

The dev/ops complexities made for teams with auto notifications and integrations with other team tools is not important to me.

Have any recommendations for a git hosing and deployment solution? (I like free, but inexpensive is okay if the service saves me headaches)

0 likes
3 replies
chiefguru's avatar

We're using Envoyer to deploy projects to AWS and setup two projects 1 to deploy production to the production server and another to deploy development to our dev server, simple and perhaps primitive as we manually deploy when we are ready.

We also use AWS Amplify for deploying our React Applications, similar scenario, but Amplify rebuilds and restarts when the repository branch gets pushed.

P.S. We do not use any pipeline testing, that's all done outside of the deployment and we are using both BitBucket and GitHub for repositories.

1 like
Snapey's avatar

in your server you need to create a ssh key pair under the user that you will use

then copy the public key into deployment keys under repository settings in bitbucket

I install a bash script into my server which does all the commands for creating a deployment folder, pulling the repo, composer install, setting permissions and finally switching a Live folder symlink over to the new deployment. This runs in about 5 seconds and has zero downtime

bionary's avatar

@Snapey Thanks Snapey. Although I'm weak in the sys-admin department, I have been using ssh stuff successfully for years. My problem in this instance? (bit bucket changed their auth process)

I had to setup an "app password" with bitbucket and HAVE TO to use this each time I do a git pull. Super annoying, especially since you only see their cryptic password once and cannot make it up. So now every time I want to pull I have find my copy of this cryptic password and paste it in. (kind of a crappy workflow but whatever).

With my staging app RunCloud allows me to create a deployment script. This is quite easy and super convenient as I set it up right from RunCloud's web interface. I would need something similar when pulling code to production I imagine that's what your bash script does.

I'm interested to know more about your bash script. Care to Share?

Thanks!

Please or to participate in this conversation.