HYDRA: TOP-NOTCH CONTINUOUS INTEGRATION FOR DEMANDING PEOPLE
|
|
|
- Dortha Powell
- 10 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 [email protected] -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
SOFTWARE 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
Using 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
The 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
Supported 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
CSE 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
How 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
The 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
Yocto 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
Jenkins: 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
Of 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
Other 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.
How 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
Hydra: 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
Using 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
Version 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
Lab 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
A 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
Developing 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
Modulo II Software Configuration Management - SCM
Modulo II Software Configuration Management - SCM Professor Ismael H F Santos [email protected] April 05 Prof. Ismael H. F. Santos - [email protected] 1 Bibliografia Introduction to Apache
CURRENT 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
USER 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...
Version 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
Introduction 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
Zend 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
Linux Distributions. What they are, how they work, which one to choose. [email protected]> +55-11-2132-2327. Avi Alkalay <[email protected].
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...
How 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 [email protected] Overview Tools for MS Windows (and others OSs) SSH SCP X Windows Tunneling X Connections
Hudson 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
Backup 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.
Linux 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
Software 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
Yocto 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
<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
ULTEO 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
INF-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
Android: 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
Using 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.
IKAN 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
Click 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
Content. 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)
GeBro-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
Apache Gump. Continuous Integration on Steroids. Apache Software Foundation Building Bridges @ FOSDEM 2005
Apache Gump Continuous Integration on Steroids About LSD http://www.leosimons.com/ [email protected] ASF Member Apache Excalibur, Gump, Wiki, Infrastructure Physics Student, Enschede Presentations,
CSE 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
Source 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
CMake/CTest/CDash OSCON 2009
CMake/CTest/CDash OSCON 2009 Open Source Tools to build, test, and install software Bill Hoffman [email protected] Overview Introduce myself and Kitware Automated Testing About CMake Building with
Embedded 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
Continuous 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
vs. Web Site: www.soebes.com Blog: blog.soebes.com Email: [email protected] Dipl.Ing.(FH) Karl Heinz Marbaise
Project Organization vs. Build- and Configuration Management Web Site: www.soebes.com Blog: blog.soebes.com Email: [email protected] Dipl.Ing.(FH) Karl Heinz Marbaise Agenda 1.Initialization 2.Specification
Builder 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
Sahana 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
Practicing 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
Maven 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 [email protected] Outlook What is Maven Maven Concepts and
Installing (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
opensuse.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 [email protected] How to join such a FOSS project
LinuxCon #1 OpenVAS Open Vulnerability Scanning Free your vulnerabilities!
LinuxCon #1 OpenVAS Open Vulnerability Scanning Free your vulnerabilities! Vlatko Košturjak [email protected] LinuxCon #1, 2009 09 22, Portland, Oregon, USA 1 Agenda Nessus Free alternatives Free feed(s) Oval
Software Development for Embedded GNU Radio Applications
Software Development for Embedded GNU Radio Applications Philip Balister [email protected] Open SDR May 28, 2015 1 Embedded SW Development 2 OpenEmbedded 3 Develop Software 4 Creating a Finished Product
My 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,
Additional 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
Table of Contents. Java CGI HOWTO
Table of Contents Java CGI HOWTO...1 by David H. Silber javacgi [email protected] 1.Introduction...1 2.Setting Up Your Server to Run Java CGI Programs (With Explanations)...1 3.Setting Up Your Server
Installation 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
Shakambaree 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
RPC 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
Linux 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
How 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
Secure 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}
An 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.
Developer 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
Tutorial 5: Developing Java applications
Tutorial 5: Developing Java applications p. 1 Tutorial 5: Developing Java applications Georgios Gousios [email protected] Department of Management Science and Technology Athens University of Economics and
Canto 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
GECKO 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: [email protected]
Eclipse 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
Software Tools Bootcamp
Software Tools Bootcamp RISC-V ISA Tutorial HPCA-21 08 February 2015 Albert Ou UC Berkeley [email protected] 2 Preliminaries To follow along, download these slides at http://riscv.org/tutorial-hpca2015.html
Version Control with Subversion
Version Control with Subversion http://www.oit.duke.edu/scsc/ http://wiki.duke.edu/display/scsc [email protected] John Pormann, Ph.D. [email protected] Software Carpentry Courseware This is a re-work from the
Acronis 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
CS 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
Continuous 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
ABS 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
Bull 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
SYSTEM 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
Data 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?
Jenkins 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 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
Free 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
Functions 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
Building, 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
Reminders. 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
Protect, 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
Unix 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
Continuous 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
Contents 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
Continuous 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
