2020-2021 - ICOM Université Lyon 2 - Master 2 DT
Automatisation, développement, intégration continue...
Session 1
https://chstudio.fr | |
@s_hulard | |
http://github.com/shulard | |
s.hulard@chstudio.fr | |
s.hulard@univ-lyon2.fr |
Uglify.js, PostCSS, AutoPrefixer, ...
W3C, PHP_CodeSniffer, PHPCS Fixer, PHPUnit, PHPSpec, Behat, PHPStan, ...
La gestion de versions (en anglais version control ou revision control) consiste à maintenir l'ensemble des versions d'un ou plusieurs fichiers (généralement en texte). Essentiellement utilisée dans le domaine de la création de logiciels, elle concerne surtout la gestion des codes source.
.old
, .2
Pas très fiable...
Si le serveur crash, plus rien...
S'impose comme standard grâce à la démocratisation de Git
client
Décentralisé ne veut pas dire que ce n'est pas partagé.
Une multitude d'outils mais un seul besoin.
Conteneur utilisé par le logiciel pour stocker les versions.
Différentes versions du code source indépendantes.
L'immutabilité du tag et primordiale !
Du code est écrit tout les jours, fiabilisé et mis en open source. Utiliser ce code est un gain de temps considérable.
Bénéficier de l'expérience d'autres développeurs en utilisant un code testé et propre.
Gemfile
source "https://rubygems.org"
gemspec :name => "jekyll"
gem "rake", "~> 11.0"
# Dependency of jekyll-mentions. RubyGems in Ruby 2.1 doesn't shield us from this.
gem "activesupport", "~> 4.2", :groups => [:test_legacy, :site] if RUBY_VERSION < '2.2.2'
group :development do
gem "launchy", "~> 2.3"
gem "pry"
unless RUBY_ENGINE == "jruby"
gem "pry-byebug"
end
end
composer.json
{
"name": "vendor/mon-project",
"description": "Description.",
"license": "proprietary",
"type": "project",
"require": {
"php": ">=7.0",
"laravel/framework": "5.5.*",
...
},
"require-dev": {
"phpunit/phpunit": "~6.0",
"squizlabs/php_codesniffer": "~3"
}
}
package.json
{
"name": "project",
"version": "1.0.0",
"private": true,
"dependencies": {
"autoprefixer": "^6.3.7",
"babel-plugin-transform-inline-environment-variables": "^6.8.0",
"babel-preset-es2015": "^6.9.0",
"babelify": "^7.3.0",
...
},
"devDependencies": {
"nodemon": "^1.9.2",
"parallelshell": "^2.0.0",
"watchify": "^3.7.0"
}
}