37

CK 10 - Automate all the things 2.0

Embed Size (px)

Citation preview

Page 1: CK 10 - Automate all the things 2.0
Page 2: CK 10 - Automate all the things 2.0

github.com/marabesi

twitter.com/MatheusMarabesi

Page 3: CK 10 - Automate all the things 2.0
Page 4: CK 10 - Automate all the things 2.0
Page 5: CK 10 - Automate all the things 2.0

http://vmob.me/DE1Q16THT

HELP

US

Page 6: CK 10 - Automate all the things 2.0

Why should I use Phing ?

Page 7: CK 10 - Automate all the things 2.0
Page 8: CK 10 - Automate all the things 2.0
Page 9: CK 10 - Automate all the things 2.0
Page 10: CK 10 - Automate all the things 2.0

Build tool ?

Page 11: CK 10 - Automate all the things 2.0

“Build tools are programs that automate the creation of executable applications from source code. Building incorporates compiling, linking and packaging the code into a usable or executable form. In small projects, developers will often manually invoke the build process.”

https://www.techopedia.com/definition/16359/build-tool

Page 12: CK 10 - Automate all the things 2.0

“Build tools are programs that automate the creation of executable applications from source code.”

https://www.techopedia.com/definition/16359/build-tool

Page 13: CK 10 - Automate all the things 2.0
Page 14: CK 10 - Automate all the things 2.0

Why should I automate?

Page 15: CK 10 - Automate all the things 2.0
Page 16: CK 10 - Automate all the things 2.0
Page 17: CK 10 - Automate all the things 2.0
Page 18: CK 10 - Automate all the things 2.0
Page 19: CK 10 - Automate all the things 2.0

<?xml

Page 20: CK 10 - Automate all the things 2.0
Page 21: CK 10 - Automate all the things 2.0
Page 22: CK 10 - Automate all the things 2.0

PROPERTIES

Page 23: CK 10 - Automate all the things 2.0
Page 24: CK 10 - Automate all the things 2.0

phing build.xml -Drepodir=http://github.com

Page 25: CK 10 - Automate all the things 2.0
Page 26: CK 10 - Automate all the things 2.0

TARGETS

Page 27: CK 10 - Automate all the things 2.0
Page 28: CK 10 - Automate all the things 2.0
Page 29: CK 10 - Automate all the things 2.0

CORE TASKS

EchoTask

ChmodTaskChownTask

ExecTask

CopyTask

AppendTask

MoveTaskImportTask

Page 30: CK 10 - Automate all the things 2.0
Page 31: CK 10 - Automate all the things 2.0

OPTIONAL TASKS

GitCloneTask

ZipTask

TarTask

PhpLintTask

PHPUnitTask

PHPDocumentorTask

SvnCheckoutTask

Page 32: CK 10 - Automate all the things 2.0

1.

2.

3.

Page 33: CK 10 - Automate all the things 2.0

Extending Phing ?

Page 34: CK 10 - Automate all the things 2.0
Page 35: CK 10 - Automate all the things 2.0

<?php

require_once 'phing/Task.php';

class MarabesiTask{ private $message = null; private $project = null; public function setMessage($str) { $this->message = $str; }

public function init() {}

public function main() { print($this->message); } public function setProject($project) { $this->project = $project; }

}

Page 36: CK 10 - Automate all the things 2.0
Page 37: CK 10 - Automate all the things 2.0