Differences

This shows you the differences between two versions of the page.

Link to this comparison view

devops:cursuri:01 [2021/07/19 15:49]
laura.stoilescu
devops:cursuri:01 [2021/07/28 16:28] (current)
bogdan.croitoru
Line 1: Line 1:
-==== Cursul 01 Git/​BitBucket,​ Nexus ====+==== Cursul 01Git/​BitBucket,​ Nexus ====
  
 === 1. Context DevOps === === 1. Context DevOps ===
Line 23: Line 23:
  
 Elemente tipice ale unui pipeline CI/CD: Elemente tipice ale unui pipeline CI/CD:
- * Versionarea codului -  +  ​* Versionarea codului -  
- * Build - compilarea aplicatiei +  * Build - compilarea aplicatiei 
- * Test - testare: unitare, functionala,​ de integrare, end-to-end +  * Test - testare: unitare, functionala,​ de integrare, end-to-end 
- * Release - livrarea aplicatiei in repository +  * Release - livrarea aplicatiei in repository 
- * Deploy- instalare +  * Deploy- instalare 
- * Validation & Compliance - verificare vulnerabilitati/​ conformitate+  * Validation & Compliance - verificare vulnerabilitati/​ conformitate
  
  
Line 53: Line 53:
   - HEAD - pointer la branch-ul curent   - HEAD - pointer la branch-ul curent
  
-== Tipuri de sisteme de control versiune == +==2.3  ​Tipuri de sisteme de control versiune == 
-Types of Version Control Systems +1Sisteme de versionare centralizate [PerforceClearCaseSVNCVS]- un singur ​server ​contine toate versiunile coduluiadministreaza accesul la fisiere si stocheaza backup 
-There are two main types of version control systems: centralized and distributed version control systems. +  * [+] Stim cine este autoritatea la un anumit proiect 
-Centralized version control systems +  * [-] Nevoie de conexiune la server, ​permisii centralizatedowntime 
- +  * [-] single point of failure 
-Image by the author (made using Canva) +2. Sisteme de versionare decentralizate [gitMercurialBazaar] – mai multe servere contin versiunile codului alaturi de copii locale pentru fiecare din contribuitori.  
-Centralized version control systems (CVCS) are a type of version control system with a single server containing all versions of the code files — often stored in repositories — the number of contributors (programmers working on the code files)and the backup files for the main project. +  * [+] Aproape toate operatiilemai putin sync-ulsunt locale ceea ce inseamna operatii rapide (commit, diff, history) 
-This setup allows every contributor to the code to know what the others are working onmaking it easier to communicate and manage the people based on a specific task. +  * [+] control ​al versiunii personal 
-The main downside for this setup is that since all the code files and the backup files are stored on one centralized serverif something were to happen to the server, ​then everything will be lost. Subversion and Perforce are examples of CVCS. +  * [+] nu este nevoie de conexiune la server 
-Distributed version control systems +  * [+] fiecare clona este un backup  
- +  * [-?] este nevoie de un workflow pentru coordonare 
-Image by the author (made using Canva) +  
-Distributed Version Control Systems (DVCS) such as Git, Mercurial, or Bazaar are version control systems with one or more main server ​containing the code files. +
-Howeverunlike CVCSin DVCS, the code files are mirrored on every contributors’ computer, meaning each one of them has its own version of the code, including its full history to work on locally. +
-So, if any server dies, any of the contributors’ repositories can be copied back up to the server once it’s back on and restore the history of the code files. This could be done easily because every clone of the original code files is really a full backup of all the project’s data. +
-DVCS allows different groups of people in different physical locations to collaborate within the same project simultaneously. This is an advantage that wasn’t possible in centralized systems. +
-Benefits of Version Control +
-Using a version control system has various benefits to any team of software developers, including:​ +
-1 Generate backups +
-Perhaps the most vital benefit of using a version control system is that every time a contributor clones a repository, they are, in a sense creating a backup of the current version of that repository. Having multiple backups on different machines is valuable so we can secure the data from losing in the cause of server ​failure. +
-Test and experiment +
-In today’s world, any source code is always under developmentNew features are always addeda new audience to be targetedand new applications to be developed+
-When a team works on a software projectthey often have different main project clones to develop new features ontest themand make sure they function properly before this new feature can be added to the main project. This could save time as different aspects of the code can be developed simultaneously. +
-3 Keep history ​and track changes +
-Having a record of the changes in a specific code file could help you and new contributors understand how a specific part of the code came to be. How did it start and develop over time to reach its current version. +
-Moreover, if over time, the addition of a certain feature causes difficulties in extending or expanding the project, using version ​control ​allows the developers to track that particular feature out and change it or remove it without affecting the project'​s functionality. +
-4 Collaborate and contribute +
-One of the main benefits of version control systems, especially DVCS, is that it allowed us to contribute to projects we liked despite being in different countries. I would argue that the existence of DVCS was one of the main facilitators that allowed open-source technology to reach its current success. +
-Takeaways +
-Fully understanding version control systems, how they work and using them efficiently is one of the essential skills any programmer or software developers need to work on and grow to excel in their career. +
-Version control systems could be one of these topics that are quite complex and difficult to wrap your head around. That’s why I decided to create a series of articles tackling the different aspects of version control. The goal of these articles is to get you comfortably and easily started with version control. +
-The upcoming articles in this series will cover Git basics commands that every developer should know, some advanced commands to make you stand out, and how to use Git efficiently to make your workflow smooth and pleasant.+
  
  
 === 4. Managementul Outputului: Nexus=== === 4. Managementul Outputului: Nexus===
 === 5. Resurse utile === === 5. Resurse utile ===
 +https://​www.atlassian.com/​git/​tutorials/​atlassian-git-cheatsheet
 +https://​git-scm.com/​doc
 +https://​www.atlassian.com/​git/​tutorials/​learn-git-with-bitbucket-cloud ​
 +
 +
 +
devops/cursuri/01.1626698968.txt.gz · Last modified: 2021/07/19 15:49 by laura.stoilescu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0