Créé par Baptiste Donaux
Modernisation de nos outils de déploiements
(Arguments valables au moment de nos recherches)
Quelques problèmes avec Capifony qu'on aimerait bien changer.
Be better !
On reprend ce qui fonctionne (très) bien.
./your_project
|_ current -> ./releases/20160301010000
|_ releases
|_ 20160101010000
|_ 20160201010000
|_ 20160301010000
|_ shared
Bipbip.js veut rendre libre le DevOps. Par conséquent, terminer les configurations à deux balles (et encore je suis gentil).
exports.config = {
default: {
workspace: "/path/to/workspace",
requirements: {
local: [],
remote: []
},
servers: [{
user: "user",
host: "server_to_deploy.io",
to: "/path/to/deploy"
}],
repository: {
url: "git@github.com:baptistedonaux/bipbip.js.git",
branch: null,
tag: null,
options: {
submodules: true|false
}
},
commands: {
local: [
// local commands to run (before send to remote server)
],
remote: [
// remote commands to run (after project send to remote server)
],
postDeploy: [
// remote commands to run (after new release deployed)
]
},
ignores: [
// ignore files/folders
],
shared: {
files: [
// files shared
],
folders: [
// folders shared
]
},
releases: 3
},
<env1>: {
},
<env2>: {
}
}
exports.config = {
default: {
commands: {
local: [
"curl -sS https://getcomposer.org/installer | php",
["php composer.phar install -o --no-progress", "npm run gulp prod"]
]
},
requirements: {
local: ["php", "npm"],
remote: ["php"]
},
ignores: [
".git",
".gitignore",
".gitlab-ci.yml",
"composer.json",
"composer.phar",
"docker-compose.yml.dist",
"gulpfile.js",
"package.json",
"deploy.js",
"docker",
"node_modules",
"web/app_dev.php",
"web/config.php"
],
shared: {
files: ["app/config/parameters.yml"],
folders: ["var/logs", "web/uploads"]
},
releases: 3
},
dev: {
commands: {
remote: [
"php bin/console cache:clear -e prod",
"php bin/console doctrine:schema:update --force",
"chown www-data:www-data -R bin/console var/{cache,logs} web/app.php",
"chmod 775 -R bin/console var/{cache,logs} web/app.php",
],
postDeploy: ["sudo service php5-fpm reload"]
},
servers: [{
user: "www-data",
host: "webserver.org",
to: "/home/www/my_project"
}]
}
};
$ npm install -g bipbip@0.7.*
$ bipbip dev
Re-écrire le projet une fois stable dans un langage qui n'imposerai pas l'installation d'autre paquet (comme Node.js actuellement).