All Projects → fulldecent → Lightning Sites

fulldecent / Lightning Sites

Licence: mit
☁️ Lightning deployment for your ~/Sites folders

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Lightning Sites

Build
Netlify Build runs the build command, Build Plugins and bundles Netlify Functions.
Stars: ✭ 135 (+1587.5%)
Mutual labels:  deployment, continuous-integration, continuous-delivery, continuous-deployment
Rocket
Automated software delivery as fast and easy as possible 🚀
Stars: ✭ 217 (+2612.5%)
Mutual labels:  deployment, continuous-integration, continuous-delivery, continuous-deployment
build-plugin-template
Template repository to create new Netlify Build plugins.
Stars: ✭ 26 (+225%)
Mutual labels:  deployment, continuous-integration, continuous-delivery, continuous-deployment
Gaia
Build powerful pipelines in any programming language.
Stars: ✭ 4,534 (+56575%)
Mutual labels:  deployment, continuous-integration, continuous-delivery
Agent
The Buildkite Agent is an open-source toolkit written in Golang for securely running build jobs on any device or network
Stars: ✭ 534 (+6575%)
Mutual labels:  continuous-integration, continuous-delivery, continuous-deployment
deploy-drone
Deploy Drone CI to enable continuous integration ⚡️ on your product
Stars: ✭ 88 (+1000%)
Mutual labels:  deployment, continuous-integration, continuous-delivery
flagsmith-nodejs-client
Flagsmith Node JS Client. Flagsmith lets you manage features flags across web, mobile and server side applications. Get builds out faster. Control who has access to new features.
Stars: ✭ 13 (+62.5%)
Mutual labels:  continuous-integration, continuous-delivery, continuous-deployment
Haiku
🚀 Instant Heroku deploys from GitHub branches
Stars: ✭ 17 (+112.5%)
Mutual labels:  continuous-integration, continuous-delivery, continuous-deployment
Elastic Ci Stack For Aws
An auto-scaling cluster of build agents running in your own AWS VPC
Stars: ✭ 313 (+3812.5%)
Mutual labels:  continuous-integration, continuous-delivery, continuous-deployment
Jenkins
Jenkins automation server
Stars: ✭ 18,225 (+227712.5%)
Mutual labels:  continuous-integration, continuous-delivery, continuous-deployment
Abstruse
Abstruse is a free and open-source CI/CD platform that tests your models and code.
Stars: ✭ 704 (+8700%)
Mutual labels:  continuous-integration, continuous-delivery, continuous-deployment
Bzppx Codepub
暴走皮皮虾之代码发布系统,是现代的持续集成发布系统,由后台管理系统和agent两部分组成,一个运行着的agent就是一个节点,本系统并不是造轮子,是"鸟枪"到"大炮"的创新,对"前朝遗老"的革命.
Stars: ✭ 471 (+5787.5%)
Mutual labels:  continuous-integration, continuous-delivery, continuous-deployment
Android-CICD
This repo demonstrates how to work on CI/CD for Mobile Apps 📱 using Github Actions 💊 + Firebase Distribution 🎉
Stars: ✭ 37 (+362.5%)
Mutual labels:  continuous-integration, continuous-delivery, continuous-deployment
Serverless Plugin Canary Deployments
Canary deployments for your Serverless application
Stars: ✭ 283 (+3437.5%)
Mutual labels:  continuous-integration, continuous-delivery, continuous-deployment
alloy-runner
AlloyCI Runner
Stars: ✭ 16 (+100%)
Mutual labels:  continuous-integration, continuous-delivery, continuous-deployment
Cds
Enterprise-Grade Continuous Delivery & DevOps Automation Open Source Platform
Stars: ✭ 3,677 (+45862.5%)
Mutual labels:  continuous-integration, continuous-delivery, continuous-deployment
Circleci Images
Scripts to generate images for building projects on CircleCI 2.0
Stars: ✭ 397 (+4862.5%)
Mutual labels:  continuous-integration, continuous-delivery, continuous-deployment
Flubucore
A cross platform build and deployment automation system for building projects and executing deployment scripts using C# code.
Stars: ✭ 695 (+8587.5%)
Mutual labels:  deployment, continuous-integration, continuous-deployment
Gocd
Main repository for GoCD - Continuous Delivery server
Stars: ✭ 6,314 (+78825%)
Mutual labels:  continuous-integration, continuous-delivery, continuous-deployment
cloud-s4-sdk-pipeline-docker
The Cloud SDK continuous delivery infrastructure makes heavy use of docker images. This are the docker sources of these images.
Stars: ✭ 13 (+62.5%)
Mutual labels:  continuous-integration, continuous-delivery, continuous-deployment

☁️ Lightning Sites

Lightning Sites gives you beautifully simple deployment for your ~/Sites folders, inspired by Fastlane. We support all deployment setups, such as:

  • Single developer and push when done

    [LOCALHOST] ----deploy---> [PRODUCTION]
    
  • The way you shouldn't edit PHP websites (but people do it anyway)

    [LOCALHOST] <---promote/demote---> [PRODUCTION]
    
  • Version-controlled with a build step

    [SCM] <-push/pull-> [LOCALHOST] --build-> [STAGING] --deploy-> [QA/PRODUCTION]
    

You set up each site with a simple rakefile and customize as necessary. Then you can perform powerful tasks quickly, including validation, backups and even SEO tasks.

Instant setup

The easiest way to to use Lightning Sites is to clone the example repository. It is a one-page website, about horses, and includes everything a modern website should have. You do NOT need to be a programmer to use that template, it is very end-user friendly. Click the link and see the features checklist if you are interested.

Slow setup

Create a Gemfile and add lightning_sites to it

source "https://rubygems.org"

gem "lightning_sites"

And install with:

gem install bundler
bundle install # this takes <10 minutes the first time

Next, create a Rakefile by starting with this and editing server credentials:

abort('Please run this using `bundle exec rake`') unless ENV["BUNDLE_BIN_PATH"]
require 'lightning_sites' # https://github.com/fulldecent/lightning-sites

@build_excludes.push('README.md','LICENSE','CONTRIBUTING.md')
production_base = '[email protected]:'
@remote_dir = "#{production_base}www"
@backup_targets = {
  'www' => "#{production_base}www",
  'logs' => "#{production_base}logs"
}

desc "Perform website build"
task :build => ['rsync:copy_build', 'git:save_version']

desc "Perform all testing on the built HTML"
task :test => [:build, 'html:check']

desc "Publish website to productions server"
task :publish => ['rsync:push']
  • Update .gitignore to include tmp, BUILD/ and BACKUP/
  • Update _travis.yml to call bundle exec rake test, see full example here
  • Update Jekyll excludes in _config.yml, if you have one, and exclude these new files and gitignores

How to use it

Here are the amazing new commands you can use right away.

bundle exec rake build
bundle exec rake test
bundle exec rake publish

Here is the full list of tasks. This list comes up by default when you run bundle exec rake.

rake git:pull                  # Incorporate changes from the remote repository into the current branch
rake git:save_version          # Save the commit hash to VERSION in the build directory
rake git:stale_report          # Print the modified date for all files under source control
rake git:status                # Displays paths that have differences between the index file and the current HEAD commit
rake html:check                # Checks everything with htmlproofer that is reasonable to check
rake html:check_onsite         # Checks HTML with htmlproofer, skip external links
rake html:find_external_links  # Find all external links
rake jekyll:build              # Build Jekyll site
rake jekyll:test               # Run a Jekyll test server
rake rsync:backup              # Backup items from remote server
rake rsync:copy_build          # Copy the source directory to the build directory, excluding some files
rake rsync:pull[remote]        # Bring remote files to build directory (use rsync-style paths)
rake rsync:push[remote]        # Send build directory to remote server (use rsync-style paths)
rake seo:find_301              # Find 301s
rake seo:find_404              # Find 404s
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].