Giter Site home page Giter Site logo

git-s3's Introduction

git-s3

The problem

  • You have an AWS S3 bucket and want a git repository for all your data in it
  • You don't want to upload or delete all changed files manually

With git-s3

  • Automated deployment process
  • versioning and revision control for S3
  • Super easy installation and usage
  • Uploads or deletes just the files, which have changed

Installation Build Status Coverage Status

A global installation of Composer is needed. git-s3 is installed globally.

$ composer global require schickling/git-s3:dev-master

Usage

After the installation run git-s3 config to initialize the app. All needed files (config, history) will be created in the current directory. That's it. A full example can be found here.

Configure / Initialize

Edit the config.yml file manually or run

$ git-s3 config

Deploy

$ git-s3 deploy

Coming soon

  • Command to see deploy history
  • Brew support
  • subfolder as repo
  • higher test coverage
  • upload progress bar
  • use git-s3 as non-global package
  • Ruby rewrite
  • ...

Support & Contribution

If you have an issue or an idea how to improve this project please open an Issue/Pull Request here

git-s3's People

Contributors

benke avatar bitdeli-chef avatar eein avatar heskyji avatar irishsmurf avatar schickling avatar stevenshi avatar timsuchanek avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

git-s3's Issues

git-s3 deploy - The bucket you are attempting to access must be addressed using the specified endpoint

Followed the instructions detailed here: https://github.com/schickling/git-s3/blob/master/doc/EXAMPLE.md

Bucket does exist and credentials are working for all other tools I've tested with.
Full output is:

%> ~/.composer/vendor/bin/git-s3 config
Enter your AWS access key ID: XXXXXXXXXXXX
Enter your AWS secret access key: XXXXXXXXXXXXXXXX
Enter your Region name (default: eu-west-1): us-west-2
Enter your bucket title: yyy.yyy.yyy
Enter the path (relative or absolute) where your repo lives: .
Do you want to clone your repo? (default: "n"):
Configuration was successful.

%> ~/.composer/vendor/bin/git-s3 deploy
Uploading aws/admin/git.template

  [Aws\S3\Exception\PermanentRedirectException]
  The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint: "yyy.yyy.yyy.s3.amazonaws.com".

deploy

Ignore config.yml in deployment or leave private

Hello! First, thanks for a great utility - it's been really helpful so far! Currently I'm manually making config.yml private in my S3 bucket so that the AWS access keys aren't made public with the rest of the site. It'd be nice if they were already made private on deploy.

If I have some free time, I'll put together a PR for this, but wanted to open the issue for discussion first. Thanks!

Any idea whats going on here ?

Enter the path (relative or absolute) where your repo lives: gitsyncs3

[Exception]
Invalid path

Do I have to include the whole path I mean the URL ?

Thanks

Deploying git ignored files

Thanks for a pretty utility!
I'm developing with macOS and vim. In my environment, ./src/.DS_Store and ./src/index.html.swp are generated automatically.
git-s3 command deploys these two files too. I believe it can cause problems about security.
So I want the option to not deploy git ignored files.

Windows file upload references not creating directories in s3 bucket

Ran this on windows, uploaded as expected:

C:\Users\tony\Downloads\awsMagentoBuild>git-s3 deploy
Uploading magento\latest\templates\configure_magento.sh
Uploading magento\latest\templates\elasticache.template
Uploading magento\latest\templates\install_magento.sh
Uploading magento\latest\templates\magento-master.template.json
Uploading magento\latest\templates\magento.template.json
Uploading magento\latest\templates\rdsaurora.template.json
Uploading magento\latest\templates\securitygroups.template
Uploading magento\latest\templates\webserver.centos.template.json
Uploading submodules\quickstart-aws-vpc.git
Uploading submodules\quickstart-aws-vpc\ci\aws-vpc-3az-complete.json
Uploading submodules\quickstart-aws-vpc\ci\aws-vpc-3az-public.json
Uploading submodules\quickstart-aws-vpc\ci\aws-vpc-3az.json
Uploading submodules\quickstart-aws-vpc\ci\aws-vpc-4az-complete.json
Uploading submodules\quickstart-aws-vpc\ci\aws-vpc-4az-public.json
Uploading submodules\quickstart-aws-vpc\ci\aws-vpc-4az.json
Uploading submodules\quickstart-aws-vpc\ci\aws-vpc-complete.json
Uploading submodules\quickstart-aws-vpc\ci\aws-vpc-defaults.json
Uploading submodules\quickstart-aws-vpc\ci\aws-vpc-public.json
Uploading submodules\quickstart-aws-vpc\LICENSE.txt
Uploading submodules\quickstart-aws-vpc\NOTICE.txt
Uploading submodules\quickstart-aws-vpc\README.md
Uploading submodules\quickstart-aws-vpc\templates\aws-vpc.template
Lock file initialized. Deployment complete!

However, no directories were made on the s3 side, and filepaths that are meant to be accessable with a "/" are replaced with "%5C"

e.g.
http://s3-region.amazonaws.com/bucketname/magento%5Clatest%5Ctemplates%5Cmagento-master.template.json

instead of
http://s3-region.amazonaws.com/bucketname/magento/latest/templates/magento-master.template.json

awsproblems-nodirectoriescreated

YAML:Parse and DialogHelper are both deprecated.

  1. ConfigCommandTest::testCommand
    "Symfony\Component\Console\Helper\DialogHelper" is deprecated since version 2.5 and will be removed in 3.0. Use "Symfony\Component\Console\Helper\QuestionHelper" instead.

and:

  1. ConfigTest::testCopyConfigFileOnInit
    The ability to pass file names to the Symfony\Component\Yaml\Yaml::parse method is deprecated since version 2.2 and will be removed in 3.0. Pass the YAML contents of the file instead.

Causes the PHPUnit tests to fail.

Subfolder

Hello!

My use-case is multiple repositories in a single bucket - would this be possible?

[Exception] Invalid path

After following the prompts from git-s3 config, I get an error that says:
[Exception] Invalid path

Have you encountered this issue before?

deploy returning NotImplementedException

Im following the guidelines in EXAMPLE.md, but get stuck during the git-s3 deploy step:

$ git-s3 deploy
Uploading newTestFile
[Aws\S3\Exception\NotImplementedException]                           
A header you provided implies functionality that is not implemented  
deploy

I used the following in git-s3 config:

Enter your AWS access key ID: [my access key ID]
Enter your AWS secret access key: [my secret access key]
Enter your Region name (default: eu-west-1): eu-west-1
Enter your bucket title: [my-bucket-name]
Enter the path (relative or absolute) where your repo lives: testRepo
Do you want to clone your repo? (default: "n"): n
Configuration was successful.

My bucket has region Ireland aka eu-west-1 (I tried specifying "Ireland" as Region name without success)

Am I missing something?

Cannot install when there's already symfony/console 3.x installed

Getting this error message from my composer during installation

Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for schickling/git-s3 dev-master -> satisfiable by schickling/git-s3[dev-master].
    - Conclusion: remove symfony/console v3.1.2
    - Conclusion: don't install symfony/console v3.1.2
    - schickling/git-s3 dev-master requires symfony/console 2.*

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.