Github, Travis-CI and Perl
date post
27-Aug-2014Category
Software
view
2.743download
7
Embed Size (px)
description
A quick introduction to using Github and Travis-CI to test Perl projects
Transcript of Github, Travis-CI and Perl
- Github, TravisCI &Perl DaveCross dave@perlhacks.com @davorg
- GithubisAwesome
- GithubisAwesomeBecause
- GithubisAwesomeBecause Git
- GithubisAwesomeBecause Git Socialcoding
- GithubisAwesomeBecause Git Socialcoding Free
- GithubisAwesomeBecause Git Socialcoding Free Octocat
- GithubisAwesomeBecause API
- APIsareAwesome APIsallowyouto addcoolfeaturesto Github
- APIsareAwesome APIsallowother peopletoaddcool featurestoGithub
- APIsareAwesome APIsallowother peopletoaddcool featurestoGithub
- APIsareAwesome APIsallowwhole ecosystemofcool newtoys
- ContinuousIntegration
- ContinuousIntegration Sourcecodecontrolisawesome
- ContinuousIntegration Sourcecodecontrolisawesome Unitstestsareawesome
- ContinuousIntegration Sourcecodecontrolisawesome Unitstestsareawesome Continuousintegrationisrunning unittestswheneveryoucommitcode
- ContinuousIntegration Sourcecodecontrolisawesome Unitstestsareawesome Continuousintegrationisrunning unittestswheneveryoucommitcode Whichisawesome
- TravisCIisAwesome
- TravisCIisAwesome TravisCImonitorsyourGithubprojects
- TravisCIisAwesome TravisCImonitorsyourGithubprojects Watchesforcommits
- TravisCIisAwesome TravisCImonitorsyourGithubprojects Watchesforcommits Runsunittests
- TravisCIisAwesome TravisCImonitorsyourGithubprojects Watchesforcommits Runsunittests Reportssuccessorfailure
- TravisCIisAwesome TravisCImonitorsyourGithubprojects Watchesforcommits Runsunittests Reportssuccessorfailure Whichisawesome
- TravisCI&Perl EasytoenableTravisCIforPerlprojects
- TravisCI&Perl EasytoenableTravisCIforPerlprojects Justaddafiletoyourrepos
- TravisCI&Perl EasytoenableTravisCIforPerlprojects Justaddafiletoyourrepos .travis.yml
- TravisCI&Perl EasytoenableTravisCIforPerlprojects Justaddafiletoyourrepos .travis.yml SignupwithTravis
- TravisCI&Perl EasytoenableTravisCIforPerlprojects Justaddafiletoyourrepos .travis.yml SignupwithTravis Activateproject
- .travis.yml language:perl perl: "5.18" "5.16" "5.14"
- (Sidebar) NoPerl5.20supportyet Plannedbutnotimplemented Thereisaworkaround Seehttp://mgnm.at/travis520
- SignUpWithTravisCI
- SignUpWithTravisCI http://travisci.org/
- SignUpWithTravisCI http://travisci.org/ SigninwithyourGithubaccount
- SignUpWithTravisCI
- SignUpWithTravisCI
- IntegratingContinuously Nowyou'resetup
- IntegratingContinuously Nowyou'resetup Commitachangetoyourrepository
- IntegratingContinuously Nowyou'resetup Commitachangetoyourrepository Andwait
- IntegratingContinuously Nowyou'resetup Commitachangetoyourrepository Andwait ...
- BuildResults
- BuildResults
- BuildResults
- BuildResults
- BuildResults
- BuildResults
- Badges
- Badges
- Badges
- Badges
- MoreComplexStuff That'sallveryeasy
- MoreComplexStuff That'sallveryeasy Notallcodeisthatsimple
- MoreComplexStuff That'sallveryeasy Notallcodeisthatsimple Canwedomore?
- MoreComplexStuff That'sallveryeasy Notallcodeisthatsimple Canwedomore? Rhetoricalquestion
- Example:AddingDatabase Adatabaseisacommonrequirement
- Example:AddingDatabase Adatabaseisacommonrequirement Includeschemainrepo
- Example:AddingDatabase Adatabaseisacommonrequirement Includeschemainrepo Includedatainrepo
- Example:AddingDatabase Adatabaseisacommonrequirement Includeschemainrepo Includedatainrepo Loaddatabasebeforetesting
- Example:AddingDatabase Adatabaseisacommonrequirement Includeschemainrepo Includedatainrepo Loaddatabasebeforetesting before_script(in.travis.yml)
- Example:AddingDatabase before_script: - mysql -e 'create database my_db;' - mysql -D my_db < db/load_db.sql
- Example:ConnectingtoDatabase TravisCIsetsupadatabaseuser
- Example:ConnectingtoDatabase TravisCIsetsupadatabaseuser Calledtravis
- Example:ConnectingtoDatabase TravisCIsetsupadatabaseuser Calledtravis Nopassword
- Example:ConnectingtoDatabase TravisCIsetsupadatabaseuser Calledtravis Nopassword Useenvvariables
- Example:ConnectingtoDatabase TravisCIsetsupadatabaseuser Calledtravis Nopassword Useenvvariables env(in.travis.yml)
- Example:ConnectingtoDatabase env: MYAPP_DB_SERVER=localhost MYAPP_DB_NAME=my_db MYAPP_DB_USER=travis MYAPP_DB_PASS=''
- Example:TestCoverage Automaticallyruntestcoverage
- Example:TestCoverage Automaticallyruntestcoverage http://coveralls.io/
- Example:TestCoverage Automaticallyruntestcoverage http://coveralls.io/ Addto.travis.yml
- .travis.yml install: cpanmquietnotest Devel::Cover::Report::Coveralls script: PERL5OPT=Mdevel::Cover=coverage,statement, branch,condition,path,subroutineprovelrsvt cover after_success: coverreportcoveralls
- Seealso http://mgnm.at/travis520
- Example:TestCoverage
- Example:TestCoverage
- Example:TestCoverage
- MoreandMore Manymorethingsarepossible
- MoreandMore Manymorethingsarepossible Barelyscratchingthesurface
- MoreandMore Manymorethingsarepossible Barelyscratchingthesurface Seehttp://docs.travisci.com/
Recommended