Git Product home page Git Product logo

devops-technical-test-data's Introduction

Descartes Underwriting

Context

We wish to create a backup tool that will save only the last modified files of a storage unit.

In our example, the storage unit is not a bucket.

The storage unit is the DD-MM-YYYY-test branch of the current descartes-underwriting/devops-technical-test-data git repository.

Property

The descartes-underwriting/devops-technical-test-data repository is not frozen and will have new commits.

Commits will be added to the DD-MM-YYYY-test branch multiple times every day.

The DD-MM-YYYY-test branch name will be adapted using standard datetime convention eg: 01-01-2022-test for the 1st of January 2022.

Task

Develop a backup tool to save the modified files at each commit.

Submission

Script and data should be saved on a private candidate/descartes-backup-project repository on your github account.

Access should be granted to all members of the descartes-underwriting group:

https://github.com/orgs/descartes-underwriting/people

Script

Create a script to automate the backup process using open source software.

The script should track the changes fo the branch DD-MM-YYYY-test of the descartes-underwriting/devops-technical-test-data repository.

The execution of the script should be carried out with a github-action / gitlab-pipeline or any other tool automating git workflow on your git project.

It is highly recommended to use a scheduling tool to execute the back up process.

Data

The backup should store files in separate folders.

The backup file structure should be based on the sha1 of the descartes-underwriting/devops-technical-test-data.

File structure example

For the following commits on the descartes-underwriting/devops-technical-test-data:

SHA OPERATION
Commit_N create readme.md
Commit_N+1 create doc.txt
Commit_N+2 create data/test/test.txt
Commit_N+3 append text to ./doc.txt
Commit_N+4 create test/project/project1.txt

The candidate/descartes-backup-project repository should have

$ tree .
.
├── .gitworkflow
│   └── workflows
│       └── my-lovely-workflow.yml
├── data
│   ├── N
│   │   └── readme.md
│   ├── N+1
│   │   └── doc.txt
│   ├── N+2
│   │   └── data
│   │       └── test
│   │           └── test.txt
│   ├── N+3
│   │   └── doc.txt
│   └── N+4
│       └── test
│           └── project
│               └── project1.txt
└── script
    └── my-beautiful-script.best-language

devops-technical-test-data's People

Contributors

alexandrecameron avatar mareak avatar nicolas-dm-d4 avatar

Watchers

 avatar

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.