What you'll need to follow this guide: GitLab Repo with pipelines enabled Superuser account on server (this guide is written for Ubuntu but other distributions should still be very similar) SSH enabled on destination server A running webserver (we'll assume NGINX is running here) A Hexo website you wish to deploy (optional) an SSL Certificate for use with your site or LetsEncrypt setup knowledge Concept: A few weeks back, I was looking for an easy-to-use framework for blogging.
What you'll need to follow this guide: Terraform >12.13 & understanding of basic Terraform usage AWS API Access, preferably with admin-level permissions Bitbucket Repository with Pipelines enabled An EC2 Instance you wish to push your code repository contents to Concept: Using Bitbucket Pipelines and Bitbucket Deploy, we will set up automatic pushes to an EC2 Instance with AWS CodeDeploy. Target EC2 Instance does not need to be publicaly accessible in any way for this approach.
Summary: Jenkins is a popular solution for providing automated Continuous Integration and Continuous Delivery of code to your infrastructure. Features: Open-Source, On-Premise but there are SaaS providers fueled by Jenkins Cloudbees being the most popular provider out there Cloud Agnostic Pipelines Lots and lots of plugins A vast and strong community of long-time users & contributors Deployment: Jenkins is available in most Linux distribution package managers at this point.