HYDRA: TOP-NOTCH CONTINUOUS INTEGRATION FOR DEMANDING PEOPLE
|
|
- Dortha Powell
- 8 years ago
- Views:
Transcription
1 HYDRA: TOP-NOTCH CONTINUOUS INTEGRATION FOR DEMANDING PEOPLE Ludovic Courtès Service d expérimentation & développement Inria Bordeaux Sud-Ouest 3 November 2011
2 introduction features practice closing L. Courtès Hydra: continuous integration for demanding people 2
3 scenario 1: a peaceful development team... L. Courtès Hydra: continuous integration for demanding people 3
4 scenario 1:... software that works... L. Courtès Hydra: continuous integration for demanding people 4
5 scenario 1:... and suddenly... L. Courtès Hydra: continuous integration for demanding people 5
6 scenario 1: who broke it?! L. Courtès Hydra: continuous integration for demanding people 6
7 scenario 2: works for me user: It s broken. L. Courtès Hydra: continuous integration for demanding people 7
8 scenario 2: works for me user: It s broken. dev: Weird, it works for me. L. Courtès Hydra: continuous integration for demanding people 8
9 scenario 2: works for me user: It s broken. dev: Weird, it works for me. Which platform? L. Courtès Hydra: continuous integration for demanding people 9
10 scenario 2: works for me user: It s broken. dev: Weird, it works for me. Which platform? user: Darwin L. Courtès Hydra: continuous integration for demanding people 10
11 scenario 2: works for me user: It s broken. dev: Weird, it works for me. Which platform? user: Darwin On x L. Courtès Hydra: continuous integration for demanding people 11
12 scenario 2: works for me user: It s broken. dev: Weird, it works for me. Which platform? user: Darwin On x With Apple GCC 4.0.1, GMP 4.2.4, MPFR 2.4.2, BDB 4.2. L. Courtès Hydra: continuous integration for demanding people 12
13 scenario 2: works for me user: It s broken. dev: Weird, it works for me. Which platform? user: Darwin On x With Apple GCC 4.0.1, GMP 4.2.4, MPFR 2.4.2, BDB 4.2. Et avec --disable-color. L. Courtès Hydra: continuous integration for demanding people 13
14 scenario 2: works for me user: It s broken. dev: Weird, it works for me. Which platform? user: Darwin On x With Apple GCC 4.0.1, GMP 4.2.4, MPFR 2.4.2, BDB 4.2. Et avec --disable-color. dev: Well, too bad. I rather test on GNU/Linux, i686 L. Courtès Hydra: continuous integration for demanding people 14
15 scenario 2: works for me user: It s broken. dev: Weird, it works for me. Which platform? user: Darwin On x With Apple GCC 4.0.1, GMP 4.2.4, MPFR 2.4.2, BDB 4.2. Et avec --disable-color. dev: Well, too bad. I rather test on GNU/Linux, i686, with GCC 4.6.2, GMP 4.2.1, MPFR 2.4.1, GDBM 1.8.2, GTK Oh, and with --enable-color --enable-gui. L. Courtès Hydra: continuous integration for demanding people 15
16 scenario 2: works for me user: It s broken. dev: Weird, it works for me. Which platform? user: Darwin On x With Apple GCC 4.0.1, GMP 4.2.4, MPFR 2.4.2, BDB 4.2. Et avec --disable-color. dev: Well, too bad. I rather test on GNU/Linux, i686, with GCC 4.6.2, GMP 4.2.1, MPFR 2.4.1, GDBM 1.8.2, GTK Oh, and with --enable-color --enable-gui. L. Courtès Hydra: continuous integration for demanding people 16
17 scenario 2: works for me user: It s broken. dev: Weird, it works for me. Which platform? user: Darwin On x With Apple GCC 4.0.1, GMP 4.2.4, MPFR 2.4.2, BDB 4.2. Et avec --disable-color. dev: Well, too bad. I rather test on GNU/Linux, i686, with GCC 4.6.2, GMP 4.2.1, MPFR 2.4.1, GDBM 1.8.2, GTK Oh, and with --enable-color --enable-gui. L. Courtès Hydra: continuous integration for demanding people 17
18 scenario 2: works for me user: It s broken. dev: Weird, it works for me. Which platform? user: Darwin On x With Apple GCC 4.0.1, GMP 4.2.4, MPFR 2.4.2, BDB 4.2. Et avec --disable-color. dev: Well, too bad. I rather test on GNU/Linux, i686, with GCC 4.6.2, GMP 4.2.1, MPFR 2.4.1, GDBM 1.8.2, GTK Oh, and with --enable-color --enable-gui. L. Courtès Hydra: continuous integration for demanding people 18
19 scenario 2: works for me user: It s broken. dev: Weird, it works for me. Which platform? user: Darwin On x With Apple GCC 4.0.1, GMP 4.2.4, MPFR 2.4.2, BDB 4.2. Et avec --disable-color. dev: Well, too bad. I rather test on GNU/Linux, i686, with GCC 4.6.2, GMP 4.2.1, MPFR 2.4.1, GDBM 1.8.2, GTK Oh, and with --enable-color --enable-gui. L. Courtès Hydra: continuous integration for demanding people 19
20 scenario 2: works for me user: It s broken. dev: Weird, it works for me. Which platform? user: Darwin On x With Apple GCC 4.0.1, GMP 4.2.4, MPFR 2.4.2, BDB 4.2. Et avec --disable-color. dev: Well, too bad. I rather test on GNU/Linux, i686, with GCC 4.6.2, GMP 4.2.1, MPFR 2.4.1, GDBM 1.8.2, GTK Oh, and with --enable-color --enable-gui. L. Courtès Hydra: continuous integration for demanding people 20
21 why continuous integration is so great 1. continuous compilation/test L. Courtès Hydra: continuous integration for demanding people 21
22 why continuous integration is so great 1. continuous compilation/test 2. quick feedback L. Courtès Hydra: continuous integration for demanding people 22
23 why continuous integration is so great 1. continuous compilation/test 2. quick feedback 3. pristine build environment L. Courtès Hydra: continuous integration for demanding people 23
24 why continuous integration is so great 1. continuous compilation/test 2. quick feedback 3. pristine build environment 4. different configurations under test L. Courtès Hydra: continuous integration for demanding people 24
25 why continuous integration is so great 1. continuous compilation/test 2. quick feedback 3. pristine build environment 4. different configurations under test 5. build results published L. Courtès Hydra: continuous integration for demanding people 25
26 the true cost of doing it yourself while true do rm -rf foo svn co svn+ssh://scm.gforge.inria.fr/svn/foo/trunk foo cd foo make sleep 300 done L. Courtès Hydra: continuous integration for demanding people 26
27 the true cost of doing it yourself while true do rm -rf foo svn co svn+ssh://scm.gforge.inria.fr/svn/foo/trunk foo cd foo make 2>&1 > build-log \ mail michel.cosnard@inria.fr -s "Build failed!" \ < build-log sleep 300 done L. Courtès Hydra: continuous integration for demanding people 27
28 the true cost of doing it yourself function svn revision { ( cd "$1" svn info \ grep \^R.vision *: *\([0-9]\+\)$ \ sed -e s/[^0-9]//g ) } function svn update { ( prev rev="$(svn revision $1)" ( cd "$1" ; svn update ) new rev="$(svn revision $1)" test $prev rev -ne $new rev ) } function update html report { local stamp="$(date -u +%Y%m%d-%H%M)" local test log="$builddir/testsuite/log" local failure rate="(tests not run)" gzip --best < "$2" > "build-$stamp.log.gz" scp "build-$stamp.log.gz" "$ssh remote dir/" if [ -f "$test log" ] then i failure rate="$(test failure rate $test log)" $html gzip --best. scp "test-$stamp.log.gz" "$ssh remote dir/" wq fi EOF local result bgcolor if [ $1 -ne 0 ] then } result="<b>fail</b>" bgcolor="lightred" else result="pass" bgcolor="lightgreen" fi local rev="$(svn revision $srcdir)" local html="<tr bgcolor= $bgcolor > <td><a href= $(gforge revision url foo $rev) >$rev< <td>$stamp</td> <td>$failure rate</td> <td> $result [ <a href= build-$stamp.log.gz >build</a> <a href=ẗest-$stamp.log.gz >test</a> ] </td> </tr>" ed "$html report" <<EOF /INSERT BUILD RESULTS +1 < "$builddir/testsuite/log" scp "$html report" "$ssh remote dir/index.html" L. Courtès Hydra: continuous integration for demanding people 28
29 the true cost of doing it yourself function svn revision { ( cd "$1" svn info \ grep \^R.vision *: *\([0-9]\+\)$ \ sed -e s/[^0-9]//g ) } function svn update { ( prev rev="$(svn revision $1)" ( cd "$1" ; svn update ) new rev="$(svn revision $1)" test $prev rev -ne $new rev ) } function update html report { local stamp="$(date -u +%Y%m%d-%H%M)" local test log="$builddir/testsuite/log" local failure rate="(tests not run)" gzip --best < "$2" > "build-$stamp.log.gz" scp "build-$stamp.log.gz" "$ssh remote dir/" if [ -f "$test log" ] then i failure rate="$(test failure rate $test log)" $html gzip --best. scp "test-$stamp.log.gz" "$ssh remote dir/" wq fi EOF local result bgcolor if [ $1 -ne 0 ] then } result="<b>fail</b>" bgcolor="lightred" else result="pass" bgcolor="lightgreen" fi local rev="$(svn revision $srcdir)" local html="<tr bgcolor= $bgcolor > <td><a href= $(gforge revision url foo $rev) >$rev< <td>$stamp</td> <td>$failure rate</td> <td> $result [ <a href= build-$stamp.log.gz >build</a> <a href=ẗest-$stamp.log.gz >test</a> ] </td> </tr>" ed "$html report" <<EOF /INSERT BUILD RESULTS +1 < "$builddir/testsuite/log" scp "$html report" "$ssh remote dir/index.html" L. Courtès Hydra: continuous integration for demanding people 29
30 lots of tools! BuildBot Jenkins (formerly Hudson) CruiseControl... Hydra L. Courtès Hydra: continuous integration for demanding people 30
31 suitability of a continuous integration tool languages & build systems? build notification & visualization? portability? reproducibility? scalability? L. Courtès Hydra: continuous integration for demanding people 31
32 introduction features practice closing L. Courtès Hydra: continuous integration for demanding people 32
33 testimonial Thanks to Hydra, my software projects shine more than ever! Ludovic C. L. Courtès Hydra: continuous integration for demanding people 33
34 Hydra, Nix, & you Nix build tool focus on controlling the build environment Hydra continuous integration tool based on Nix L. Courtès Hydra: continuous integration for demanding people 34
35 Hydra, Nix, & you Nix build tool focus on controlling the build environment Hydra continuous integration tool based on Nix web interface + notification GNU/Linux, FreeBSD, MacOS X, Cygwin distributed builds L. Courtès Hydra: continuous integration for demanding people 35
36 Hydra, Nix, & you Nix build tool focus on controlling the build environment Hydra continuous integration tool based on Nix web interface + notification GNU/Linux, FreeBSD, MacOS X, Cygwin distributed builds SSH/root access to the build host not needed L. Courtès Hydra: continuous integration for demanding people 36
37 Hydra, Nix, & you Nix build tool focus on controlling the build environment Hydra continuous integration tool based on Nix web interface + notification GNU/Linux, FreeBSD, MacOS X, Cygwin distributed builds SSH/root access to the build host not needed manage the build environment by yourself! L. Courtès Hydra: continuous integration for demanding people 37
38 a project L. Courtès Hydra: continuous integration for demanding people 38
39 a job set L. Courtès Hydra: continuous integration for demanding people 39
40 a build L. Courtès Hydra: continuous integration for demanding people 40
41 build inputs L. Courtès Hydra: continuous integration for demanding people 41
42 build input changes L. Courtès Hydra: continuous integration for demanding people 42
43 view of a successful job set L. Courtès Hydra: continuous integration for demanding people 43
44 a failed build L. Courtès Hydra: continuous integration for demanding people 44
45 build input changes that led to a failure L. Courtès Hydra: continuous integration for demanding people 45
46 build environments vs. reproducibility versions of the dependencies compiler compilation options, and those of dependencies miscellaneous (locale, timezone, etc.) paths L. Courtès Hydra: continuous integration for demanding people 46
47 build environments vs. reproducibility versions of the dependencies compiler compilation options, and those of dependencies miscellaneous (locale, timezone, etc.) paths -I/path/to/headers -L/path/to/lib $CPATH $LIBRARY PATH L. Courtès Hydra: continuous integration for demanding people 47
48 build environments vs. reproducibility versions of the dependencies compiler compilation options, and those of dependencies miscellaneous (locale, timezone, etc.) paths -I/path/to/headers -L/path/to/lib $LD LIBRARY PATH RPATH $CPATH $LIBRARY PATH RUNPATH L. Courtès Hydra: continuous integration for demanding people 48
49 build environments vs. reproducibility versions of the dependencies compiler compilation options, and those of dependencies miscellaneous (locale, timezone, etc.) paths -I/path/to/headers -L/path/to/lib $LD LIBRARY PATH $PYTHONPATH $XML CATALOG FILES $CPATH $LIBRARY PATH RPATH RUNPATH $CLASSPATH $PERL5LIB $GUILE LOAD PATH L. Courtès Hydra: continuous integration for demanding people 49
50 build environments vs. reproducibility versions of the dependencies compiler compilation options, and those of dependencies miscellaneous (locale, timezone, etc.) paths -I/path/to/headers $CPATH -L/path/to/lib $LIBRARY PATH $LD LIBRARY PATH $PYTHONPATH RPATH Ahem, reproducible builds? $CLASSPATH RUNPATH $XML CATALOG FILES $PERL5LIB $GUILE LOAD PATH L. Courtès Hydra: continuous integration for demanding people 50
51 build environment control without Nix hello qt4 which compiler? which libc? L. Courtès Hydra: continuous integration for demanding people 51
52 build environment control without Nix hello qt4 which compiler? which libc? and now your favorite admin upgrades the system... L. Courtès Hydra: continuous integration for demanding people 52
53 build environment control without Nix hello qt4 which compiler? which libc? and now your favorite admin upgrades the system... Segmentation fault L. Courtès Hydra: continuous integration for demanding people 53
54 build environment control without Nix hello qt4 uncontrolled build environment = untraceable failures which compiler? which libc? and now your favorite admin upgrades the system... Segmentation fault L. Courtès Hydra: continuous integration for demanding people 54
55 default-builder.sh ncurses-5.7.drv lzma drv texinfo-4.13a.drv perl drv linux-headers drv binutils drv replace-2.24.drv pcre-7.8.drv gawk drv lzma drv gettext-0.17.drv perl drv gnused drv bzip drv gnum drv gnupatch drv patchelf-0.4.drv gnumake-3.81.drv gnugrep drv prehook.sh bootstrap-tools.drv builder.sh setup.sh libtool-2.2.6a.drv attr drv acl drv no-sys-dirs.patch builder.sh ld-wrapper.sh bootstrap-glibc.drv utils.sh setup-hook.sh add-flags gcc-wrapper.sh setup-hook.sh malloc.patch gettext-fix.patch stdenv-linux-boot.drv builder.sh log.patch impure-dirs.patch diffutils drv coreutils-7.2.drv bootstrap-gcc.drv prehook.sh builder.sh stdenv-linux-boot.drv nss-skip-unavail.patch glibc-2.9.drv locale-override.patch rpcgen-path.patch gcc-wrapper drv new-dtags.patch bootstrap-gcc.drv stdenv-linux-boot.drv pass-cxxcpp.patch builder.sh no-sys-dirs.patch linux tar.bz2.drv gnum drv gcc drv gmp drv mpfr drv glibc tar.bz2.drv binutils tar.bz2.drv mpfr tar.bz2.drv gmp tar.bz2.drv texinfo-4.13a.tar.lzma.drv ncurses-5.7.tar.gz.drv perl tar.gz.drv gcc-core tar.bz2.drv m tar.bz2.drv lzma tar.gz.drv sed tar.gz.drv gcc-g tar.bz2.drv bash drv attr_ tar.gz.drv bzip tar.gz.drv bash drv bash drv coreutils-7.2.tar.gz.drv bash drv bison-2.3.tar.bz2.drv bash drv bash-4.0.tar.gz.drv bash drv bash drv bash drv gettext-0.17.tar.gz.drv libtool-2.2.6a.tar.lzma.drv bash drv bash drv bash drv bash drv replace-2.24-src tar.gz.drv bash drv bash drv bash drv bash drv bash drv diffutils tar.gz.drv gawk tar.bz2.drv acl_ tar.gz.drv pcre-7.8.tar.bz2.drv grep tar.bz2.drv patch tar.gz.drv findutils tar.gz.drv patchelf-0.4.tar.bz2.drv make-3.81.tar.bz2.drv gzip tar.gz.drv bison-2.3.drv write-mirror-list.sh gcc-wrapper drv findutils-path.patch change_echo_path.patch findutils drv mirrors-list.drv perl drv stdenv-linux.drv hello-2.3.drv bash-4.0-p17.drv hello-2.3.tar.bz2.drv bzip2 mkdir curl.bz2 download.sh ln cpio sh openssl-0.9.8k.drv curl drv bootstrap-tools.cpio.bz2.drv connect-timeout.patch zlib drv unpack-bootstrap-tools.sh gnulib-futimens.patch gzip drv gnutar-1.22.drv implausible.patch mirrors-list.drv stdenv-linux-boot.drv builder.sh tar-1.22.tar.bz2.drv zlib tar.gz.drv openssl-0.9.8k.tar.gz.drv curl tar.bz2.drv build environment control with Nix... down to the compiler s compiler! 1 Except for the kernel, the hardware, the direction of the wind, etc. L. Courtès Hydra: continuous integration for demanding people 55
56 default-builder.sh ncurses-5.7.drv lzma drv texinfo-4.13a.drv perl drv linux-headers drv binutils drv replace-2.24.drv pcre-7.8.drv gawk drv lzma drv gettext-0.17.drv perl drv gnused drv bzip drv gnum drv gnupatch drv patchelf-0.4.drv gnumake-3.81.drv gnugrep drv prehook.sh bootstrap-tools.drv builder.sh setup.sh libtool-2.2.6a.drv attr drv acl drv no-sys-dirs.patch builder.sh ld-wrapper.sh bootstrap-glibc.drv utils.sh setup-hook.sh add-flags gcc-wrapper.sh setup-hook.sh malloc.patch gettext-fix.patch stdenv-linux-boot.drv builder.sh log.patch impure-dirs.patch diffutils drv coreutils-7.2.drv bootstrap-gcc.drv prehook.sh builder.sh stdenv-linux-boot.drv nss-skip-unavail.patch glibc-2.9.drv locale-override.patch rpcgen-path.patch gcc-wrapper drv new-dtags.patch bootstrap-gcc.drv stdenv-linux-boot.drv pass-cxxcpp.patch builder.sh no-sys-dirs.patch linux tar.bz2.drv gnum drv gcc drv gmp drv mpfr drv glibc tar.bz2.drv binutils tar.bz2.drv mpfr tar.bz2.drv gmp tar.bz2.drv texinfo-4.13a.tar.lzma.drv ncurses-5.7.tar.gz.drv perl tar.gz.drv gcc-core tar.bz2.drv m tar.bz2.drv lzma tar.gz.drv sed tar.gz.drv gcc-g tar.bz2.drv bash drv attr_ tar.gz.drv bzip tar.gz.drv bash drv bash drv coreutils-7.2.tar.gz.drv bash drv bison-2.3.tar.bz2.drv bash drv bash-4.0.tar.gz.drv bash drv bash drv bash drv gettext-0.17.tar.gz.drv libtool-2.2.6a.tar.lzma.drv bash drv bash drv bash drv bash drv replace-2.24-src tar.gz.drv bash drv bash drv bash drv bash drv bash drv diffutils tar.gz.drv gawk tar.bz2.drv acl_ tar.gz.drv pcre-7.8.tar.bz2.drv grep tar.bz2.drv patch tar.gz.drv findutils tar.gz.drv patchelf-0.4.tar.bz2.drv make-3.81.tar.bz2.drv gzip tar.gz.drv bison-2.3.drv write-mirror-list.sh gcc-wrapper drv findutils-path.patch change_echo_path.patch findutils drv mirrors-list.drv perl drv stdenv-linux.drv hello-2.3.drv bash-4.0-p17.drv hello-2.3.tar.bz2.drv bzip2 mkdir curl.bz2 download.sh ln cpio sh openssl-0.9.8k.drv curl drv bootstrap-tools.cpio.bz2.drv connect-timeout.patch zlib drv unpack-bootstrap-tools.sh gnulib-futimens.patch gzip drv gnutar-1.22.drv implausible.patch mirrors-list.drv stdenv-linux-boot.drv builder.sh tar-1.22.tar.bz2.drv zlib tar.gz.drv openssl-0.9.8k.tar.gz.drv curl tar.bz2.drv build environment control with Nix... down to the compiler s compiler! build environment entirely under control 1 all the build inputs are known to Nix 1 Except for the kernel, the hardware, the direction of the wind, etc. L. Courtès Hydra: continuous integration for demanding people 56
57 introduction features practice closing L. Courtès Hydra: continuous integration for demanding people 57
58 hello, world! L. Courtès Hydra: continuous integration for demanding people 58
59 a job set L. Courtès Hydra: continuous integration for demanding people 59
60 writing a Hydra job set in Nix job set } { tarball =...; build =...; coverage =...; deb =...; job name L. Courtès Hydra: continuous integration for demanding people 60
61 writing a Hydra job set in Nix } { tarball =...; build =...; coverage =...; deb =...; make dist make && make check... make CFLAGS=--coverage... qemu... checkinstall... L. Courtès Hydra: continuous integration for demanding people 61
62 writing Hydra jobs in Nix parameters tarball = { nixpkgs, hellosrc } : function let pkgs = import nixpkgs { }; in pkgs.releasetools.sourcetarball { name = "hello"; src = hellosrc; }; L. Courtès Hydra: continuous integration for demanding people 62
63 writing Hydra jobs in Nix checkout of the distro checkout of Hello tarball = { nixpkgs, hellosrc } : let pkgs = import nixpkgs { }; in pkgs.releasetools.sourcetarball { name = "hello"; src = hellosrc; }; L. Courtès Hydra: continuous integration for demanding people 63
64 writing Hydra jobs in Nix result of tarball job x86 64-linux, or x86 64-darwin, etc. build = { nixpkgs, tarball, system } : let pkgs = import nixpkgs { inherit system; }; in pkgs.releasetools.nixbuild { name = "hello"; src = tarball; }; L. Courtès Hydra: continuous integration for demanding people 64
65 writing Hydra jobs in Nix build = { nixpkgs, tarball, system } : let pkgs = import nixpkgs { inherit system; }; in pkgs.releasetools.nixbuild { name = "hello"; explicit dependency src = tarball; buildinputs = [ pkgs.qt4 ]; hello }; qt4 L. Courtès Hydra: continuous integration for demanding people 65
66 writing Hydra jobs in Nix build = { nixpkgs, tarball, system } : let pkgs = import nixpkgs { inherit system; }; in pkgs.releasetools.nixbuild { name = "hello"; src = tarball; buildinputs = [ pkgs.qt4 ]; configureflags = "--with-colors"; }; L. Courtès Hydra: continuous integration for demanding people 66
67 writing Hydra jobs in Nix coverage = { nixpkgs, tarball, system } : let pkgs = import nixpkgs { inherit system; }; in pkgs.releasetools.coverageanalysis { name = "hello"; src = tarball; buildinputs = [ pkgs.qt4 ]; configureflags = "--with-colors"; }; L. Courtès Hydra: continuous integration for demanding people 67
68 writing Hydra jobs in Nix deb = { nixpkgs, tarball, system } : let pkgs = import nixpkgs { inherit system; }; in pkgs.releasetools.debbuild { name = "hello"; src = tarball; configureflags = "--with-colors"; diskimage = vmtools.diskimages.debian50x86 64; }; L. Courtès Hydra: continuous integration for demanding people 68
69 filling in the blanks... L. Courtès Hydra: continuous integration for demanding people 69
70 But Autotools suck, CMake rocks. Anonymous (and cavalier) attendee. L. Courtès Hydra: continuous integration for demanding people 70
71 building with CMake build = { system, nixpkgs, hellosrc }: let pkgs = import nixpkgs { inherit system; }; in pkgs.releasetools.nixbuild { name = "hello-cmake" ; src = hellosrc; cmakeflags = "-DFOO BAR=on"; buildinputs = [ pkgs.cmake pkgs.qt4 ]; }; L. Courtès Hydra: continuous integration for demanding people 71
72 All these C-ish things suck anyway; Java is the way. Anonymous attendee. L. Courtès Hydra: continuous integration for demanding people 72
73 building with Ant build = { nixpkgs, hellosrc }: let pkgs = import nixpkgs { }; in pkgs.releasetools.antbuild { name = "hello-ant" ; src = hellosrc; anttargets = [ "jar" "test" ]; buildinputs = with pkgs; [ ant jdk ]; }; L. Courtès Hydra: continuous integration for demanding people 73
74 building with Maven build = { nixpkgs, hellosrc }: let pkgs = import nixpkgs { }; in pkgs.releasetools.mvnbuild { name = "hello-maven" ; src = hellosrc; dojavadoc = true; docheckstyle = true; buildinputs = with pkgs; [ maven2 jdk ]; }; L. Courtès Hydra: continuous integration for demanding people 74
75 building things differently customize existing build functions (nixbuild, etc.) write your own build function L. Courtès Hydra: continuous integration for demanding people 75
76 building things differently customize existing build functions (nixbuild, etc.) define configureflags, makeflags, etc. define configurephase, buildphase, etc. (shell snippets)... write your own build function pythonbuild anyone? L. Courtès Hydra: continuous integration for demanding people 76
77 introduction features practice closing L. Courtès Hydra: continuous integration for demanding people 77
78 Continuous integration pacifies developers! L. Courtès Hydra: continuous integration for demanding people 78
79 summary Continuous integration pacifies developers! quick feedback to developers source + binaries + doc snapshots for users tests of various configurations L. Courtès Hydra: continuous integration for demanding people 79
80 summary Continuous integration pacifies developers! quick feedback to developers source + binaries + doc snapshots for users tests of various configurations available today! L. Courtès Hydra: continuous integration for demanding people 80
81 Inria: what s missing production-ready! L. Courtès Hydra: continuous integration for demanding people 81
82 Inria: what s missing not quite production-ready L. Courtès Hydra: continuous integration for demanding people 82
83 Inria: what s missing not quite production-ready no private/proprietary projects yet L. Courtès Hydra: continuous integration for demanding people 83
84 Inria: what s missing not quite production-ready no private/proprietary projects yet no GPUs, no webcams, no USB percolator (yet) L. Courtès Hydra: continuous integration for demanding people 84
85 Inria: what s missing not quite production-ready no private/proprietary projects yet no GPUs, no webcams, no USB percolator (yet) some of your dependencies might be missing L. Courtès Hydra: continuous integration for demanding people 85
86 Inria: what s missing not quite production-ready no private/proprietary projects yet no GPUs, no webcams, no USB percolator (yet) some of your dependencies might be missing no blame list, no favorite Jenkins plug-in here... L. Courtès Hydra: continuous integration for demanding people 86
87 Inria: what s already there small & growing compile farm: 12 x86 64 cores L. Courtès Hydra: continuous integration for demanding people 87
88 Inria: what s already there small & growing compile farm: 12 x86 64 cores GNU/Linux, MacOS X, and FreeBSD L. Courtès Hydra: continuous integration for demanding people 88
89 Inria: what s already there small & growing compile farm: 12 x86 64 cores GNU/Linux, MacOS X, and FreeBSD kernel & distributed tests in virtual machines virtual build environments: Debian, Fedora, opensuse, etc. L. Courtès Hydra: continuous integration for demanding people 89
90 Inria: what s already there small & growing compile farm: 12 x86 64 cores GNU/Linux, MacOS X, and FreeBSD kernel & distributed tests in virtual machines virtual build environments: Debian, Fedora, opensuse, etc. 6.5 projects being built (C/C++/Fortran, Autotools/CMake) L. Courtès Hydra: continuous integration for demanding people 90
91 Inria: what s already there small & growing compile farm: 12 x86 64 cores GNU/Linux, MacOS X, and FreeBSD kernel & distributed tests in virtual machines virtual build environments: Debian, Fedora, opensuse, etc. 6.5 projects being built (C/C++/Fortran, Autotools/CMake)... L. Courtès Hydra: continuous integration for demanding people 91
92 getting started 1. L. Courtès Hydra: continuous integration for demanding people 92
93 getting started add your recipes to L. Courtès Hydra: continuous integration for demanding people 93
94 getting started add your recipes to 3. watch your project at L. Courtès Hydra: continuous integration for demanding people 94
95 getting help copy/paste from read the fine manual at L. Courtès Hydra: continuous integration for demanding people 95
96
Continuous Integration @ Inria https://ci.inria.fr
Continuous Integration @ Inria https://ci.inria.fr Damien Martin-Guillerez Outline 1. Introduction 2. CI@Inria service description 3. CI@Inria usage example 4. Summary Damien Martin-Guillerez Mardi du
More informationSOFTWARE DEVELOPMENT BASICS SED
SOFTWARE DEVELOPMENT BASICS SED Centre de recherche Lille Nord Europe 16 DÉCEMBRE 2011 SUMMARY 1. Inria Forge 2. Build Process of Software 3. Software Testing 4. Continuous Integration 16 DECEMBRE 2011-2
More informationUsing NixOS for declarative deployment and testing
Using NixOS for declarative deployment and testing Sander van der Burg Eelco Dolstra Delft University of Technology, EEMCS, Department of Software Technology February 5, 2010 Linux distributions There
More informationThe Nix project. Sander van der Burg. June 24, 2013. Delft University of Technology, EEMCS, Department of Software Technology
Delft University of Technology, EEMCS, Department of Software Technology June 24, 2013 Software deployment Software deployment Software deployment All of the activities that make a software system available
More informationSupported platforms & compilers Required software Where to download the packages Geant4 toolkit installation (release 9.6)
Supported platforms & compilers Required software Where to download the packages Geant4 toolkit installation (release 9.6) Configuring the environment manually Using CMake CLHEP full version installation
More informationCSE 70: Software Development Pipeline Version Control with Subversion, Continuous Integration with Bamboo, Issue Tracking with Jira
CSE 70: Software Development Pipeline Version Control with Subversion, Continuous Integration with Bamboo, Issue Tracking with Jira Ingolf Krueger Department of Computer Science & Engineering University
More informationHow To Write A Distributed Deployment System On Nix (Programming)
Delft University of Technology, EEMCS, Department of Software Technology Philips Healthcare, Philips Informatics Infrastructure (PII), Best February 2, 2012 Service Oriented Computing The Service Oriented
More informationThe Nix Build Farm: A Declarative Approach to Continuous Integration
The Nix Build Farm: A Declarative Approach to Continuous Integration Eelco Dolstra, Eelco Visser Delft University of Technology Abstract There are many tools to support continuous integration (the process
More informationYocto Project Eclipse plug-in and Developer Tools Hands-on Lab
Yocto Project Eclipse plug-in and Developer Tools Hands-on Lab Yocto Project Developer Day San Francisco, 2013 Jessica Zhang Introduction Welcome to the Yocto Project Eclipse plug-in
More informationJenkins: The Definitive Guide
Jenkins: The Definitive Guide John Ferguson Smart O'REILLY8 Beijing Cambridge Farnham Koln Sebastopol Tokyo Table of Contents Foreword xiii Preface xv 1. Introducing Jenkins 1 Introduction 1 Continuous
More informationOf Penguins and Wildebeest. Anthony Rodgers VA7IRL
Of Penguins and Wildebeest Anthony Rodgers VA7IRL The Penguin Linux was created by a Swedish-speaking Finn called Linus Torvalds Version 0.01 was released in September 1991 We are now on version 2.6 It
More informationOther trademarks and Registered trademarks include: LONE-TAR. AIR-BAG. RESCUE-RANGER TAPE-TELL. CRONY. BUTTSAVER. SHELL-LOCK
Quick Start Guide Copyright Statement Copyright Lone Star Software Corp. 1983-2013 ALL RIGHTS RESERVED. All content viewable or accessible from this guide is the sole property of Lone Star Software Corp.
More informationHow Bigtop Leveraged Docker for Build Automation and One-Click Hadoop Provisioning
How Bigtop Leveraged Docker for Build Automation and One-Click Hadoop Provisioning Evans Ye Apache Big Data 2015 Budapest Who am I Apache Bigtop PMC member Software Engineer at Trend Micro Develop Big
More informationHydra: A Declarative Approach to Continuous Integration 1
Hydra: A Declarative Approach to Continuous Integration 1 Eelco Dolstra, Eelco Visser Department of Software Technology, Faculty of Electrical Engineering, Mathematics and Computer Science (EWI), Delft
More informationWhat is this talk about?
Building GNOME What is this talk about? Meta-build systems (jhbuild, rpm/dpkg, Yocto) Improving new GNOME developer experience Improving long-time GNOME developer experience Changing what we're building
More informationBreak It Before You Buy It!
Break It Before You Buy It! Test Driven Development and Continuous Integration Chris Hartjes -- CodeMash 2011 -- @chartjes http://www.littlehart.net/atthekeyboard Huge Sports Nerd TL;DR The Problem Build
More informationUsing Subversion in Computer Science
School of Computer Science 1 Using Subversion in Computer Science Last modified July 28, 2006 Starting from semester two, the School is adopting the increasingly popular SVN system for management of student
More informationVersion Control with Subversion
Version Control with Subversion Introduction Wouldn t you like to have a time machine? Software developers already have one! it is called version control Version control (aka Revision Control System or
More informationLab 0 (Setting up your Development Environment) Week 1
ECE155: Engineering Design with Embedded Systems Winter 2013 Lab 0 (Setting up your Development Environment) Week 1 Prepared by Kirill Morozov version 1.2 1 Objectives In this lab, you ll familiarize yourself
More informationContinuous integration, package update mechanism and release management in GAP
Continuous integration, package update mechanism and release management in GAP Alexander Konovalov GAP Days 2014, Aachen, 25-29 August To users, package authors and contributors to the core system A popular
More informationA Reference Architecture for Distributed Software Deployment
A Reference Architecture for Distributed Software Deployment Delft University of Technology, EEMCS, Department of Software Technology August 2, 2013 A Reference Architecture for Distributed Software Deployment
More informationDeveloping Embedded Linux Devices Using the Yocto Project
It s not an embedded Linux distribution It creates a custom one for you. Developing Embedded Linux Devices Using the Yocto Project David Stewart Intel Corporation October, 2011 Agenda What is the Yocto
More informationModulo II Software Configuration Management - SCM
Modulo II Software Configuration Management - SCM Professor Ismael H F Santos ismael@tecgraf.puc-rio.br April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Bibliografia Introduction to Apache
More informationCURRENT STATE OF ICINGA
Monitoring Workshop Berlin 15th May - TEAM ICINGA CURRENT STATE OF ICINGA WWW.ICINGA.ORG Agenda Introduction Tools & Platform Icinga project update New in Icinga 1.x Icinga 2 Icinga Web 2 What s next Questions
More informationUSER GUIDE. Snow Inventory Client for Unix Version 1.1.03 Release date 2015-04-29 Document date 2015-05-20
USER GUIDE Product Snow Inventory Client for Unix Version 1.1.03 Release date 2015-04-29 Document date 2015-05-20 CONTENT ABOUT THIS DOCUMENT... 3 OVERVIEW... 3 OPERATING SYSTEMS SUPPORTED... 3 PREREQUISITES...
More informationVersion Control with Git. Dylan Nugent
Version Control with Git Dylan Nugent Agenda What is Version Control? (and why use it?) What is Git? (And why Git?) How Git Works (in theory) Setting up Git (surviving the CLI) The basics of Git (Just
More informationIntroduction to Version Control
Research Institute for Symbolic Computation Johannes Kepler University Linz, Austria Winter semester 2014 Outline General Remarks about Version Control 1 General Remarks about Version Control 2 Outline
More informationZend Server 4.0 Beta 2 Release Announcement What s new in Zend Server 4.0 Beta 2 Updates and Improvements Resolved Issues Installation Issues
Zend Server 4.0 Beta 2 Release Announcement Thank you for your participation in the Zend Server 4.0 beta program. Your involvement will help us ensure we best address your needs and deliver even higher
More informationLinux Distributions. What they are, how they work, which one to choose. avix@br.ibm.com> +55-11-2132-2327. Avi Alkalay <avix@br.ibm.
Linux Distributions What they are, how they work, which one to choose Avi Alkalay +55-11-2132-2327 Linux, Open Standards Consultant IBM Corporation Before You Start...
More informationHow To Run Linux On Windows 7 (For A Non-Privileged User) On A Windows 7 Computer (For Non-Patty) On Your Computer (Windows) On An Unix Computer (Unix) On Windows) On The Same
Working from Home Tools and Technologies for Improving Your Programming Environment Daniel J. Hood danielhood@umbc.edu Overview Tools for MS Windows (and others OSs) SSH SCP X Windows Tunneling X Connections
More informationHudson configuration manual
Hudson configuration manual 1 Chapter 1 What is Hudson? Hudson is a powerful and widely used open source continuous integration server providing development teams with a reliable way to monitor changes
More informationBackup of ESXi Virtual Machines using Affa
Backup of ESXi Virtual Machines using Affa From SME Server Skill level: Advanced The instructions on this page may require deviations from procedure, a good understanding of linux and SME is recommended.
More informationLinux command line. An introduction to the Linux command line for genomics. Susan Fairley
Linux command line An introduction to the Linux command line for genomics Susan Fairley Aims Introduce the command line Provide an awareness of basic functionality Illustrate with some examples Provide
More informationSoftware Development In the Cloud Cloud management and ALM
Software Development In the Cloud Cloud management and ALM First published in Dr. Dobb's Journal, February 2009: http://www.ddj.com/development-tools/212900736 Nick Gulrajani is a Senior Solutions Architect
More informationYocto Project ADT, Eclipse plug-in and Developer Tools
Yocto Project ADT, Eclipse plug-in and Developer Tools Jessica Zhang LinuxCon - Japan Tokyo 2013 Agenda The Application Development Toolkit Usage Flow And Roles Yocto Project Eclipse Plug-in Interacts
More information<Insert Picture Here> Introducing Hudson. Winston Prakash. Click to edit Master subtitle style
Introducing Hudson Click to edit Master subtitle style Winston Prakash What is Hudson? Hudson is an open source continuous integration (CI) server. A CI server can do various tasks
More informationULTEO OPEN VIRTUAL DESKTOP V4.0
ULTEO OPEN VIRTUAL DESKTOP V4.0 MIGRATION GUIDE 28 February 2014 Contents Section 1 Introduction... 4 Section 2 Overview... 5 Section 3 Preparation... 6 3.1 Enter Maintenance Mode... 6 3.2 Backup The OVD
More informationINF-110. GPFS Installation
INF-110 GPFS Installation Overview Plan the installation Before installing any software, it is important to plan the GPFS installation by choosing the hardware, deciding which kind of disk connectivity
More informationAndroid: How To. Thanks. Aman Nijhawan
Android: How To. This is just a collection of useful information and tricks that I used during the time I was developing on the android ADP1. In some cases the information might be a little old and new
More informationUsing Actian PSQL as a Data Store with VMware vfabric SQLFire. Actian PSQL White Paper May 2013
Using Actian PSQL as a Data Store with VMware vfabric SQLFire Actian PSQL White Paper May 2013 Contents Introduction... 3 Prerequisites and Assumptions... 4 Disclaimer... 5 Demonstration Steps... 5 1.
More informationIKAN ALM Architecture. Closing the Gap Enterprise-wide Application Lifecycle Management
IKAN ALM Architecture Closing the Gap Enterprise-wide Application Lifecycle Management Table of contents IKAN ALM SERVER Architecture...4 IKAN ALM AGENT Architecture...6 Interaction between the IKAN ALM
More informationClick Start > Control Panel > System icon to open System Properties dialog box. Click Advanced > Environment Variables.
Configure Java environment on Windows After installing Java Development Kit on Windows, you may still need to do some configuration to get Java ready for compiling and executing Java programs. The following
More informationContent. Development Tools 2(63)
Development Tools Content Project management and build, Maven Version control, Git Code coverage, JaCoCo Profiling, NetBeans Static Analyzer, NetBeans Continuous integration, Hudson Development Tools 2(63)
More informationGeBro-BACKUP. Die Online-Datensicherung. Manual Pro Backup Client on a NAS
GeBro-BACKUP Die Online-Datensicherung. Manual Pro Backup Client on a NAS Created and tested on a QNAP TS-559 Pro Firmware 4.0.2 Intel x86 Architecture Default hardware configuration OBM v6.15.0.0 Last
More informationTechnical Writing - Advantages of Version Control Systems
Fachpraktikum Grafik-Programmierung WS2010 Introduction to Version Control Alexandros Panagiotidis, Daniel Kauker Institut für Visualisierung und Interaktive Systeme Universität Stuttgart Advantages of
More informationApache Gump. Continuous Integration on Steroids. Apache Software Foundation Building Bridges @ FOSDEM 2005
Apache Gump Continuous Integration on Steroids About LSD http://www.leosimons.com/ leosimons@apache.org ASF Member Apache Excalibur, Gump, Wiki, Infrastructure Physics Student, Enschede Presentations,
More informationCSE 70: Software Development Pipeline Build Process, XML, Repositories
CSE 70: Software Development Pipeline Build Process, XML, Repositories Ingolf Krueger Department of Computer Science & Engineering University of California, San Diego La Jolla, CA 92093-0114, USA California
More informationSource code management systems
Source code management systems SVN, Git, Mercurial, Bazaar,... for managing large projects with multiple people work locally or across a network store and retrieve all versions of all directories and files
More informationCMake/CTest/CDash OSCON 2009
CMake/CTest/CDash OSCON 2009 Open Source Tools to build, test, and install software Bill Hoffman bill.hoffman@kitware.com Overview Introduce myself and Kitware Automated Testing About CMake Building with
More informationEmbedded Linux development with Buildroot training 3-day session
Embedded Linux development with training 3-day session Title Overview Duration Trainer Language Audience Embedded Linux development with training Introduction to Managing and building the configuration
More informationAbout Me Developer Workspaces Enable Agile Teams
About Me Developer Workspaces Enable Agile Teams Steve Berczuk Cyrus Innovation New England Agile Bazaar March 2008 Software Developer Certified Scrum Master Author (SCM Patterns Book, CM Crossroads) Technical
More informationContinuous Integration and Delivery at NSIDC
National Snow and Ice Data Center Supporting Cryospheric Research Since 1976 Continuous Integration and Delivery at NSIDC Julia Collins National Snow and Ice Data Center Cooperative Institute for Research
More informationvs. Web Site: www.soebes.com Blog: blog.soebes.com Email: info@soebes.com Dipl.Ing.(FH) Karl Heinz Marbaise
Project Organization vs. Build- and Configuration Management Web Site: www.soebes.com Blog: blog.soebes.com Email: info@soebes.com Dipl.Ing.(FH) Karl Heinz Marbaise Agenda 1.Initialization 2.Specification
More informationBuilder User Guide. Version 6.0.1. Visual Rules Suite - Builder. Bosch Software Innovations
Visual Rules Suite - Builder Builder User Guide Version 6.0.1 Bosch Software Innovations Americas: Bosch Software Innovations Corp. 161 N. Clark Street Suite 3500 Chicago, Illinois 60601/USA Tel. +1 312
More informationSahana Training Program Day Schedule v0.5
Day 1 Description Duration 9:20 am 9:20 am Welcome to Sahana Training Program Keynote Training Program overview, introduction to trainers and participants Overview of the Sahana system Introduction to
More informationPracticing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation
Practicing Continuous Delivery using Hudson Winston Prakash Oracle Corporation Development Lifecycle Dev Dev QA Ops DevOps QA Ops Typical turn around time is 6 months to 1 year Sprint cycle is typically
More informationMaven or how to automate java builds, tests and version management with open source tools
Maven or how to automate java builds, tests and version management with open source tools Erik Putrycz Software Engineer, Apption Software erik.putrycz@gmail.com Outlook What is Maven Maven Concepts and
More informationInstalling (1.8.7) 9/2/2009. 1 Installing jgrasp
1 Installing jgrasp Among all of the jgrasp Tutorials, this one is expected to be the least read. Most users will download the jgrasp self-install file for their system, doubleclick the file, follow the
More informationopensuse.org Build Service
opensuse.org Build Service Maintain one source for all Linux platforms Putting cross development support into OBS Martin Mohring 5e Datasoft GmbH martin.mohring@opensuse.org How to join such a FOSS project
More informationLinuxCon #1 OpenVAS Open Vulnerability Scanning Free your vulnerabilities!
LinuxCon #1 OpenVAS Open Vulnerability Scanning Free your vulnerabilities! Vlatko Košturjak kost@linux.hr LinuxCon #1, 2009 09 22, Portland, Oregon, USA 1 Agenda Nessus Free alternatives Free feed(s) Oval
More informationSoftware Development for Embedded GNU Radio Applications
Software Development for Embedded GNU Radio Applications Philip Balister philip@opensdr.com Open SDR May 28, 2015 1 Embedded SW Development 2 OpenEmbedded 3 Develop Software 4 Creating a Finished Product
More informationMy DevOps Journey by Billy Foss, Engineering Services Architect, CA Technologies
About the author My DevOps Journey by Billy Foss, Engineering Services Architect, CA Technologies I am going to take you through the journey that my team embarked on as we looked for ways to automate processes,
More informationAdditional Information: SSH, PuTTY, and VmWare
Additional Information: SSH, PuTTY, and VmWare Gianpierre Villagomez EECS 268 Additional Information: SSH, PuTTY, and VMware 1 EECS Linux machine remote access There are several ways you can access EECS
More informationTable of Contents. Java CGI HOWTO
Table of Contents Java CGI HOWTO...1 by David H. Silber javacgi document@orbits.com...1 1.Introduction...1 2.Setting Up Your Server to Run Java CGI Programs (With Explanations)...1 3.Setting Up Your Server
More informationBetter Automation Environments
Better Automation Environments Matthew B. Doar March 2006 Peninsula Linux Users' Group (PenLUG) What's a Toolsmith? A catch-all term for build guy, SCM engineer, and tools wizard It's very useful when
More informationInstallation Guide for WebSphere Application Server (WAS) and its Fix Packs on AIX V5.3L
Installation Guide for WebSphere Application Server (WAS) and its Fix Packs on AIX V5.3L Introduction: This guide is written to help any person with little knowledge in AIX V5.3L to prepare the P Server
More informationIntegration with ESB. Filip Nguyen Jiří Kolář
Integration with ESB Filip Nguyen Jiří Kolář Task - Open Project and build it cp -r /home/xnguyen/maven-repo/* ~/.m2/repository cp -r /home/xnguyen/pa165/pa165-esb /tmp/jboss4 Task prepare for running
More informationShakambaree Technologies Pvt. Ltd.
Welcome to Support Express by Shakambaree Technologies Pvt. Ltd. Introduction: This document is our sincere effort to put in some regular issues faced by a Digital Signature and USB Token user doing on
More informationRPC and TI-RPC Test Suite Test Plan Document
RPC and TI-RPC Test Suite Test Plan Document Cyril LACABANNE Bull S.A.S. Version 1.3 12 July 2007 Revision history Version Description 1.0 First release 1.1 Several correction on 1, 5, 8, 14 1.2 Add first
More informationLinux Overview. The Senator Patrick Leahy Center for Digital Investigation. Champlain College. Written by: Josh Lowery
Linux Overview Written by: Josh Lowery The Senator Patrick Leahy Center for Digital Investigation Champlain College October 29, 2012 Disclaimer: This document contains information based on research that
More informationHow To Write A Test Drive For Kaspersky Anti Virus 6.0 For Windows Server (For Windows)
Kaspersky Anti-Virus >> Enterprise Proof of Concept (PoC) Request Form Dear Kaspersky Lab Prospect, To facilitate the proof of concept (PoC) process, we require the following form which documents your
More informationSecure Shell Demon setup under Windows XP / Windows Server 2003
Secure Shell Demon setup under Windows XP / Windows Server 2003 Configuration inside of Cygwin $ chgrp Administrators /var/{run,log,empty} $ chown Administrators /var/{run,log,empty} $ chmod 775 /var/{run,log}
More informationAn Overview of Servlet & JSP Technology
2007 Marty Hall An Overview of Servlet & JSP Technology 2 Customized J2EE Training: http://courses.coreservlets.com/ Servlets, JSP, Struts, JSF, EJB3, Ajax, Java 5, Java 6, etc. Ruby/Rails coming soon.
More informationDeveloper Workshop 2015. Marc Dumontier McMaster/OSCAR-EMR
Developer Workshop 2015 Marc Dumontier McMaster/OSCAR-EMR Agenda Code Submission 101 Infrastructure Tools Developing OSCAR Code Submission: Process OSCAR EMR Sourceforge http://www.sourceforge.net/projects/oscarmcmaster
More informationTutorial 5: Developing Java applications
Tutorial 5: Developing Java applications p. 1 Tutorial 5: Developing Java applications Georgios Gousios gousiosg@aueb.gr Department of Management Science and Technology Athens University of Economics and
More informationCanto Integration Platform (CIP)
Canto Integration Platform (CIP) Getting Started Guide Copyright 2013, Canto GmbH. All rights reserved. Canto, the Canto logo, the Cumulus logo, and Cumulus are registered trademarks of Canto, registered
More informationGECKO Software. Introducing FACTORY SCHEMES. Adaptable software factory Patterns
Introducing FACTORY SCHEMES Adaptable software factory Patterns FACTORY SCHEMES 3 Standard Edition Community & Enterprise Key Benefits and Features GECKO Software http://consulting.bygecko.com Email: Info@gecko.fr
More informationEclipse IDE for Embedded AVR Software Development
Eclipse IDE for Embedded AVR Software Development Helsinki University of Technology Jaakko Ala-Paavola February 17th, 2006 Version 0.2 Abstract This document describes how to set up Eclipse based Integrated
More informationSoftware Tools Bootcamp
Software Tools Bootcamp RISC-V ISA Tutorial HPCA-21 08 February 2015 Albert Ou UC Berkeley aou@eecs.berkeley.edu 2 Preliminaries To follow along, download these slides at http://riscv.org/tutorial-hpca2015.html
More informationVersion Control with Subversion
Version Control with Subversion http://www.oit.duke.edu/scsc/ http://wiki.duke.edu/display/scsc scsc@duke.edu John Pormann, Ph.D. jbp1@duke.edu Software Carpentry Courseware This is a re-work from the
More informationAcronis Backup & Recovery 10 Server for Linux. Installation Guide
Acronis Backup & Recovery 10 Server for Linux Installation Guide Table of contents 1 Before installation...3 1.1 Acronis Backup & Recovery 10 components... 3 1.1.1 Agent for Linux... 3 1.1.2 Management
More informationCruiseControl. Extreme Programming-Praktikum Sommersemester 2010 Andreas Höfer, Thomas Karcher, Ali Jannesari. www.kit.edu
CruiseControl Extreme Programming-Praktikum Sommersemester 2010 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu CruiseControl Continuous
More informationCS 253: Intro to Systems Programming
CS 253: Intro to Systems Programming Spring 2014 Amit Jain, Shane Panter, Marissa Schmidt Department of Computer Science College of Engineering Boise State University Logistics Instructor: Amit Jain http://cs.boisestate.edu/~amit
More informationContinuous Delivery of Debian packages. Michael Prokop
Continuous Delivery of Debian packages Michael Prokop Terminology Continuous Integration well known from software development Continuous Deployment Q/A criteria says OK? Ship/deploy! Continuous Delivery
More informationABS Manual Installation Guide
This document includes all the information required to install, upgrade and configure the Amberdms Billing System manually on nonoffically supported platforms. If you are a user of RHEL, CentOS, Debian
More informationBull Service & Solutions
Bull Service & Solutions NovaForge NovaForge WebOS Installation Guide Emmanuel Rias Version Date Write by Content 0.1.0 28/11/2007 Emmanuel RIAS Document initialization 0.1.1 06/12/2007 Cédric TRAN-XUAN
More informationSYSTEM BACKUP AND RESTORE (AlienVault USM 4.8+)
Complete. Simple. Affordable Copyright 2014 AlienVault. All rights reserved. AlienVault, AlienVault Unified Security Management, AlienVault USM, AlienVault Open Threat Exchange, AlienVault OTX, Open Threat
More informationData management on HPC platforms
Data management on HPC platforms Transferring data and handling code with Git scitas.epfl.ch September 10, 2015 http://bit.ly/1jkghz4 What kind of data Categorizing data to define a strategy Based on size?
More informationJenkins on Windows with StreamBase
Jenkins on Windows with StreamBase Using a Continuous Integration (CI) process and server to perform frequent application building, packaging, and automated testing is such a good idea that it s now a
More informationMore about Continuous Integration: http://www.martinfowler.com/articles/continuousintegration.html
1 2 3 4 More about Continuous Integration: http://www.martinfowler.com/articles/continuousintegration.html 5 6 7 * Hudson was not evaluated separately. Most of the things which apply on Jenkins should
More informationFree Java and OpenJDK. Andrew Haley Tech Lead, Open Source Java
Free Java and OpenJDK Andrew Haley Tech Lead, Open Source Java 16 May 2006: Sun announce that it's going to free Java: "This announcement represents the next phase of open sourcing Sun's Java software
More informationFunctions of NOS Overview of NOS Characteristics Differences Between PC and a NOS Multiuser, Multitasking, and Multiprocessor Systems NOS Server
Functions of NOS Overview of NOS Characteristics Differences Between PC and a NOS Multiuser, Multitasking, and Multiprocessor Systems NOS Server Hardware Windows Windows NT 4.0 Linux Server Software and
More informationBuilding, testing and deploying mobile apps with Jenkins & friends
Building, testing and deploying mobile apps with Jenkins & friends Christopher Orr https://chris.orr.me.uk/ This is a lightning talk which is basically described by its title, where "mobile apps" really
More informationReminders. Lab opens from today. Many students want to use the extra I/O pins on
Reminders Lab opens from today Wednesday 4:00-5:30pm, Friday 1:00-2:30pm Location: MK228 Each student checks out one sensor mote for your Lab 1 The TA will be there to help your lab work Many students
More informationProtect, License and Sell Xojo Apps
Protect, License and Sell Xojo Apps To build great software with Xojo, you focus on user needs, design, code and the testing process. To build a profitable business, your focus expands to protection and
More informationUnix Sampler. PEOPLE whoami id who
Unix Sampler PEOPLE whoami id who finger username hostname grep pattern /etc/passwd Learn about yourself. See who is logged on Find out about the person who has an account called username on this host
More informationContinuous Integration
Continuous Integration Collaborative development issues Checkout of a shared version of software ( mainline ) Creation of personal working copies of developers Software development: modification of personal
More informationContents Set up Cassandra Cluster using Datastax Community Edition on Amazon EC2 Installing OpsCenter on Amazon AMI References Contact
Contents Set up Cassandra Cluster using Datastax Community Edition on Amazon EC2... 2 Launce Amazon micro-instances... 2 Install JDK 7... 7 Install Cassandra... 8 Configure cassandra.yaml file... 8 Start
More informationContinuous Integration: Put it at the heart of your development
Continuous Integration: Put it at the heart of your development Susan Duncan Tools Product Manager, Oracle 1 Program Agenda What is CI? What Does It Mean To You? Make it Hudson Evolving Best Practice For
More information