From 629354af1c9c324b38af568997d4d63cfabc17ec Mon Sep 17 00:00:00 2001 From: Piotr Maslanka <piotr.maslanka@henrietta.com.pl> Date: Sat, 25 Mar 2017 11:04:52 +0100 Subject: [PATCH] build test --- .gitattributes | 3 +- .gitlab-ci.yml | 67 ++++++++++++++++++-- README.md | 4 ++ nodejs4/Vagrantfile => SkeletonVagrantfile | 16 ++--- cass_zk_rmq/Vagrantfile | 54 ---------------- cass_zk_rmq/build.sh | 7 +++ cassandra/Vagrantfile | 38 ----------- cassandra/build.sh | 4 ++ czr_pythons/Vagrantfile | 54 ---------------- czr_pythons/build.sh | 35 +++++++++++ czr_pythons_pg/Vagrantfile | 62 ------------------ czr_pythons_pg/build.sh | 13 ++++ make-gitlab-ci.py | 43 +++++++++++++ nodejs4/build.sh | 5 ++ nodejs5_jdk_adk25/Vagrantfile | 52 --------------- nodejs5_jdk_adk25/build_as_vagrant.sh | 46 ++++++++++++++ run.sh | 9 +++ wynurz.sh | 73 ++++++++++++++++++++++ 18 files changed, 312 insertions(+), 273 deletions(-) rename nodejs4/Vagrantfile => SkeletonVagrantfile (62%) delete mode 100644 cass_zk_rmq/Vagrantfile create mode 100644 cass_zk_rmq/build.sh delete mode 100644 cassandra/Vagrantfile create mode 100644 cassandra/build.sh delete mode 100644 czr_pythons/Vagrantfile create mode 100644 czr_pythons/build.sh delete mode 100644 czr_pythons_pg/Vagrantfile create mode 100644 czr_pythons_pg/build.sh create mode 100644 make-gitlab-ci.py create mode 100644 nodejs4/build.sh delete mode 100644 nodejs5_jdk_adk25/Vagrantfile create mode 100644 nodejs5_jdk_adk25/build_as_vagrant.sh create mode 100644 run.sh create mode 100644 wynurz.sh diff --git a/.gitattributes b/.gitattributes index 0bb16be..c0631c0 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1 +1,2 @@ -cassandra/build.sh eol=lf +wynurz.sh eol=lf +*/build.sh eol=lf diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1604f77..52f069e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,24 +1,81 @@ + variables: PREFIX: henrietta/ - -.job_template: &vm_build_job +.job_template: &box_build_job stage: build tags: - vagrant - develop19216822423 + before_script: + - ln -s .. $BOX/boxen + - cp -rf wynurz.s $BOX/wynurz.sh + - cp SkeletonVagrantfile $BOX/Vagrantfile + - sed -ie 's/INSERTBOXNAME/$BOX/g' $BOX/Vagrantfile + - cd $BOX; vagrant up + - echo "\nwait\n" >> $BOX/build.sh script: - - cd $BOX - vagrant up - vagrant package --out $BOX.box - mv -f $BOX.box /var/www/html/dev/vagrant/$BOX.box - - vagrant destroy -f - vagrant box remove $PREFIX/$BOX - vagrant box add $PREFIX/$BOX file:///var/www/html/dev/vagrant/$BOX.box - cd .. + after_script: + - vagrant destroy -f + - rm $BOX/boxen + + + +build_cassandra: + <<: *box_build_job + variables: + BOX: cassandra only: - master + - /^cassandra\-(.*)$/ + build_cass_zk_rmq: - <<: *vm_build_job + <<: *box_build_job variables: BOX: cass_zk_rmq + only: + - master + - /^cass_zk_rmq\-(.*)$/ + + +build_czr_pythons: + <<: *box_build_job + variables: + BOX: czr_pythons + only: + - master + - /^czr_pythons\-(.*)$/ + + +build_czr_pythons_pg: + <<: *box_build_job + variables: + BOX: czr_pythons_pg + only: + - master + - /^czr_pythons_pg\-(.*)$/ + + +build_nodejs4: + <<: *box_build_job + variables: + BOX: nodejs4 + only: + - master + - /^nodejs4\-(.*)$/ + + +build_nodejs5_jdk_adk25: + <<: *box_build_job + variables: + BOX: nodejs5_jdk_adk25 + only: + - master + - /^nodejs5_jdk_adk25\-(.*)$/ + diff --git a/README.md b/README.md index f5c1252..a992916 100644 --- a/README.md +++ b/README.md @@ -16,3 +16,7 @@ Click on particular boxes to see description and how to use: * [NodeJS 4.x + bower + gulp](/nodejs4) * [NodeJS 5.x + JDK + ADT + cordova](/nodejs5_jdk_adk25) +Boxes are automatically regenerated upon a push to master. +If you want to develop a single box, just make a branch that starts with it's name +and a dash, eg. **cassandra-something**. +Only it will then rebuild upon commit. \ No newline at end of file diff --git a/nodejs4/Vagrantfile b/SkeletonVagrantfile similarity index 62% rename from nodejs4/Vagrantfile rename to SkeletonVagrantfile index c44f2e8..e45403d 100644 --- a/nodejs4/Vagrantfile +++ b/SkeletonVagrantfile @@ -1,22 +1,24 @@ Vagrant.configure("2") do |config| - config.vm.box = "debian/contrib-jessie64" + config.vm.box = "henrietta/INSERTBOXNAME" + + config.vm.provider "virtualbox" do |v| + v.memory = 1260 + v.cpus = 3 + end config.vm.provision "shell", inline: <<-SHELL apt-get update - apt-get install -y curl git build-essential unzip # Common utilies + apt-get install -y killall - curl -sL https://deb.nodesource.com/setup_4.x | bash - - apt-get install -y nodejs - npm cache clean - npm install -g --unsafe-perm bower gulp + bash /vagrant/run.sh # Minify + apt-get remove killall apt-get clean dd if=/dev/zero of=/EMPTY bs=1M rm -f /EMPTY rm -rf /tmp/* - # udev rules rm /etc/udev/rules.d/70-persistent-net.rules || true mkdir /etc/udev/rules.d/70-persistent-net.rules || true diff --git a/cass_zk_rmq/Vagrantfile b/cass_zk_rmq/Vagrantfile deleted file mode 100644 index 1ff08bc..0000000 --- a/cass_zk_rmq/Vagrantfile +++ /dev/null @@ -1,54 +0,0 @@ - -Vagrant.configure("2") do |config| - config.vm.box = "debian/contrib-jessie64" - - config.vm.provider "virtualbox" do |v| - v.memory = 1260 - v.cpus = 3 - end - - config.vm.provision "shell", inline: <<-SHELL - apt-get update - apt-get install -y curl # Common utilies - - # Oracle Java JRE - (apt-get install -y debconf-utils && - echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" > /etc/apt/sources.list.d/webupd8team-java.list && - echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" >> /etc/apt/sources.list.d/webupd8team-java.list && - apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886 && - apt-get update && - echo debconf shared/accepted-oracle-license-v1-1 select true | debconf-set-selections && - apt-get install -y oracle-java8-installer) $ # %1 - - (apt-get install -y rabbitmq-server=3.3.5-1.1 zookeeper zookeeperd && - sleep 20 && - service zookeeper stop && - service rabbitmq-server stop &&) & # %2 - - wait %1 # java - # Install Apache Cassandra - echo "deb http://debian.datastax.com/community stable main" > /etc/apt/sources.list.d/cassandra.sources.list - curl -L http://debian.datastax.com/debian/repo_key | apt-key add - - apt-get update - apt-get install -y cassandra=3.0.9 dsc30 cassandra-tools - - # Clean - sleep 30 - service cassandra stop - rm -rf /var/lib/cassandra/* - - wait - - # Minify - apt-get clean - dd if=/dev/zero of=/EMPTY bs=1M - rm -f /EMPTY - rm -rf /tmp/* - # udev rules - rm /etc/udev/rules.d/70-persistent-net.rules || true - mkdir /etc/udev/rules.d/70-persistent-net.rules || true - rm -rf /dev/.udev/ || true - rm /lib/udev/rules.d/75-persistent-net-generator.rules || true - - SHELL -end diff --git a/cass_zk_rmq/build.sh b/cass_zk_rmq/build.sh new file mode 100644 index 0000000..50f2b45 --- /dev/null +++ b/cass_zk_rmq/build.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +bash boxen/cassandra/build.sh +bash wynurz.sh zookeeeper +bash wynurz.sh rabbitmq + + diff --git a/cassandra/Vagrantfile b/cassandra/Vagrantfile deleted file mode 100644 index a9079de..0000000 --- a/cassandra/Vagrantfile +++ /dev/null @@ -1,38 +0,0 @@ -Vagrant.configure("2") do |config| - config.vm.box = "debian/contrib-jessie64" - - config.vm.provision "shell", inline: <<-SHELL - apt-get update - apt-get install -y curl # Common utilies - - # Oracle Java JRE - apt-get install -y debconf-utils - echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" > /etc/apt/sources.list.d/webupd8team-java.list - echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" >> /etc/apt/sources.list.d/webupd8team-java.list - apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886 - apt-get update - echo debconf shared/accepted-oracle-license-v1-1 select true | debconf-set-selections - apt-get install -y oracle-java8-installer - - # Install Apache Cassandra - echo "deb http://debian.datastax.com/community stable main" > /etc/apt/sources.list.d/cassandra.sources.list - curl -L http://debian.datastax.com/debian/repo_key | apt-key add - - apt-get update - apt-get install -y cassandra=3.0.9 dsc30 cassandra-tools - - # Minify - sleep 40 - service cassandra stop - rm -rf /var/lib/cassandra/* - apt-get clean - dd if=/dev/zero of=/EMPTY bs=1M - rm -f /EMPTY - - # udev rules - rm /etc/udev/rules.d/70-persistent-net.rules || true - mkdir /etc/udev/rules.d/70-persistent-net.rules || true - rm -rf /dev/.udev/ || true - rm /lib/udev/rules.d/75-persistent-net-generator.rules || true - - SHELL -end diff --git a/cassandra/build.sh b/cassandra/build.sh new file mode 100644 index 0000000..06fc364 --- /dev/null +++ b/cassandra/build.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +bash wynurz.sh java +bash wynurz.sh cassandra \ No newline at end of file diff --git a/czr_pythons/Vagrantfile b/czr_pythons/Vagrantfile deleted file mode 100644 index f06be01..0000000 --- a/czr_pythons/Vagrantfile +++ /dev/null @@ -1,54 +0,0 @@ - -Vagrant.configure("2") do |config| - config.vm.box = "debian/contrib-jessie64" - - config.vm.provision "shell", inline: <<-SHELL - apt-get update - apt-get install -y curl python python-pip python-dev python-setuptools build-essential git libffi-dev libyaml-dev libev4 libev-dev - pip install --upgrade pip==1.5.6 - pip install --upgrade setuptools==5.5.1 - - # Oracle Java JRE - apt-get install -y debconf-utils - echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" > /etc/apt/sources.list.d/webupd8team-java.list - echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" >> /etc/apt/sources.list.d/webupd8team-java.list - apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886 - apt-get update - echo debconf shared/accepted-oracle-license-v1-1 select true | debconf-set-selections - apt-get install -y oracle-java8-installer - - # Install Apache Cassandra - echo "deb http://debian.datastax.com/community stable main" > /etc/apt/sources.list.d/cassandra.sources.list - curl -L http://debian.datastax.com/debian/repo_key | apt-key add - - apt-get update - apt-get install -y cassandra=3.0.9 dsc30 cassandra-tools - - # Install RabbitMQ - apt-get install -y rabbitmq-server=3.3.5-1.1 - - service rabbitmq-server stop - - # Install ZooKeeper - apt-get install -y zookeeper zookeeperd - - service zookeeper stop - sleep 20 # wait for cassandra... #todo fix - service cassandra stop # cassandra takes long to init - rm -rf /var/lib/cassandra/* - - # Python modules - pip install cassandra-driver kazoo CoolAMQP requests futures six monotonic nose mock - - # Minify - apt-get clean - dd if=/dev/zero of=/EMPTY bs=1M - rm -f /EMPTY - rm -rf /tmp/* - # udev rules - rm /etc/udev/rules.d/70-persistent-net.rules || true - mkdir /etc/udev/rules.d/70-persistent-net.rules || true - rm -rf /dev/.udev/ || true - rm /lib/udev/rules.d/75-persistent-net-generator.rules || true - - SHELL -end diff --git a/czr_pythons/build.sh b/czr_pythons/build.sh new file mode 100644 index 0000000..49a3b98 --- /dev/null +++ b/czr_pythons/build.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash +apt-get install -y curl python python-pip python-dev python-setuptools build-essential git libffi-dev libyaml-dev libev4 libev-dev +pip install --upgrade pip==1.5.6 +pip install --upgrade setuptools==5.5.1 + + + +# Oracle Java JRE +apt-get install -y debconf-utils +echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" > /etc/apt/sources.list.d/webupd8team-java.list +echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" >> /etc/apt/sources.list.d/webupd8team-java.list +apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886 +apt-get update +echo debconf shared/accepted-oracle-license-v1-1 select true | debconf-set-selections +apt-get install -y oracle-java8-installer + +# Install Apache Cassandra +echo "deb http://debian.datastax.com/community stable main" > /etc/apt/sources.list.d/cassandra.sources.list +curl -L http://debian.datastax.com/debian/repo_key | apt-key add - +apt-get update +apt-get install -y cassandra=3.0.9 dsc30 cassandra-tools + +# Install RabbitMQ +apt-get install -y rabbitmq-server=3.3.5-1.1 + +service rabbitmq-server stop + +# Install ZooKeeper +apt-get install -y zookeeper zookeeperd + +service zookeeper stop +bash assaassinate_cassandra.sh + +# Python modules +pip install cassandra-driver kazoo CoolAMQP requests futures six monotonic nose mock diff --git a/czr_pythons_pg/Vagrantfile b/czr_pythons_pg/Vagrantfile deleted file mode 100644 index 874c4e6..0000000 --- a/czr_pythons_pg/Vagrantfile +++ /dev/null @@ -1,62 +0,0 @@ - -Vagrant.configure("2") do |config| - config.vm.box = "debian/contrib-jessie64" - - config.vm.provision "shell", inline: <<-SHELL - apt-get update - apt-get install -y curl python python-pip python-dev python-setuptools build-essential git libffi-dev libyaml-dev libev4 libev-dev libpq-dev - pip install --upgrade pip==1.5.6 - pip install --upgrade setuptools==5.5.1 - pip install --upgrade cffi - - # Oracle Java JRE - apt-get install -y debconf-utils - echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" > /etc/apt/sources.list.d/webupd8team-java.list - echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" >> /etc/apt/sources.list.d/webupd8team-java.list - apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886 - apt-get update - echo debconf shared/accepted-oracle-license-v1-1 select true | debconf-set-selections - apt-get install -y oracle-java8-installer - - # Install Apache Cassandra - echo "deb http://debian.datastax.com/community stable main" > /etc/apt/sources.list.d/cassandra.sources.list - curl -L http://debian.datastax.com/debian/repo_key | apt-key add - - apt-get update - apt-get install -y cassandra=3.0.9 dsc30 cassandra-tools - - # Install RabbitMQ - apt-get install -y rabbitmq-server=3.3.5-1.1 - - service rabbitmq-server stop - - # Install ZooKeeper - apt-get install -y zookeeper zookeeperd - - service zookeeper stop - sleep 20 # wait for cassandra... #todo fix - service cassandra stop # cassandra takes long to init - rm -rf /var/lib/cassandra/* - - # PgSQL 9.4 - apt-get install -y postgresql-9.4 - echo "host all all 0.0.0.0/0 md5" >> /etc/postgresql/9.4/main/pg_hba.conf - echo "listen_addresses = '*'" >> /etc/postgresql/9.4/main/postgresql.conf - sudo -u postgres psql --c "ALTER USER postgres WITH PASSWORD 'postgres';" - systemctl stop postgresql.service - - # Python modules - pip install cassandra-driver kazoo CoolAMQP requests futures six monotonic nose mock coverage psycopg2cffi wheel - - # Minify - apt-get clean - dd if=/dev/zero of=/EMPTY bs=1M - rm -f /EMPTY - rm -rf /tmp/* - # udev rules - rm /etc/udev/rules.d/70-persistent-net.rules || true - mkdir /etc/udev/rules.d/70-persistent-net.rules || true - rm -rf /dev/.udev/ || true - rm /lib/udev/rules.d/75-persistent-net-generator.rules || true - - SHELL -end diff --git a/czr_pythons_pg/build.sh b/czr_pythons_pg/build.sh new file mode 100644 index 0000000..6e91c75 --- /dev/null +++ b/czr_pythons_pg/build.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash +apt-get install -y curl python python-pip python-dev python-setuptools build-essential git libffi-dev libyaml-dev libev4 libev-dev libpq-dev +pip install --upgrade pip==1.5.6 +pip install --upgrade setuptools==5.5.1 +pip install --upgrade cffi + + +bash boxen/cassandra/build.sh +bash wynurz.sh zookeeeper +bash wynurz.sh rabbitmq +bash wynurz.sh postgresql + +pip install cassandra-driver kazoo CoolAMQP requests futures six monotonic nose mock coverage psycopg2cffi wheel diff --git a/make-gitlab-ci.py b/make-gitlab-ci.py new file mode 100644 index 0000000..126f878 --- /dev/null +++ b/make-gitlab-ci.py @@ -0,0 +1,43 @@ +# coding=UTF-8 + +from __future__ import print_function, absolute_import, division +import os +import os.path + +if __name__ == '__main__': + dirs = [dir for dir in os.listdir('.') if os.path.isdir(dir)] + boxes = [box for box in dirs if os.path.exists(os.path.join(box, 'Vagrantfile'))] + + with open('.gitlab-ci.yml', 'wb') as ci: + ci.write(b''' +variables: + PREFIX: henrietta/ +.job_template: &box_build_job + stage: build + tags: + - vagrant + - develop19216822423 + script: + - cd $BOX + - vagrant up + - vagrant package --out $BOX.box + - mv -f $BOX.box /var/www/html/dev/vagrant/$BOX.box + - vagrant box remove $PREFIX/$BOX + - vagrant box add $PREFIX/$BOX file:///var/www/html/dev/vagrant/$BOX.box + - cd .. + after_script: + - vagrant destroy -f + +''') + + for box in boxes: + ci.write(b''' +build_%s: + <<: *box_build_job + variables: + BOX: %s + only: + - master + - /^%s\-(.*)$/ + +''' % (box, box, box)) \ No newline at end of file diff --git a/nodejs4/build.sh b/nodejs4/build.sh new file mode 100644 index 0000000..dbd2351 --- /dev/null +++ b/nodejs4/build.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +bash wynurz.sh node4 +npm cache clean +npm install -g --unsafe-perm bower gulp diff --git a/nodejs5_jdk_adk25/Vagrantfile b/nodejs5_jdk_adk25/Vagrantfile deleted file mode 100644 index 27a7b5b..0000000 --- a/nodejs5_jdk_adk25/Vagrantfile +++ /dev/null @@ -1,52 +0,0 @@ - -Vagrant.configure("2") do |config| - config.vm.box = "debian/contrib-jessie64" - - config.vm.provider "virtualbox" do |v| - v.memory = 1260 - v.cpus = 3 - end - - config.vm.provision "shell", inline: <<-SHELL - apt-get update - apt-get install -y curl git build-essential unzip python zipalign - - wget -O - https://deb.nodesource.com/setup_5.x | bash - - apt-get install -y nodejs - npm install -g --unsafe-perm bower gulp cordova@6.3.1 karma - - cd /home/vagrant - wget -nv http://dev.dms-serwis.com.pl/misc/jdk-8u121-linux-x64.tar.gz - tar xzf jdk-8u121-linux-x64.tar.gz - rm -f jdk-8u121-linux-x64.tar.gz - update-alternatives --install /usr/bin/java java /home/vagrant/jdk1.8.0_121/bin/java 100 - update-alternatives --install /usr/bin/javac javac /home/vagrant/jdk1.8.0_121/bin/javac 100 - update-alternatives --install /usr/bin/jar jar /home/vagrant/jdk1.8.0_121/bin/jar 100 - update-alternatives --install /usr/bin/jarsigner jarsigner /home/vagrant/jdk1.8.0_121/bin/jarsigner 100 - echo """ -export PATH=\\$PATH:/home/vagrant/platform-tools:/home/vagrant/build-tools/25.0.1:/home/vagrant/tools -export ANDROID_HOME=/home/vagrant -""" >> /home/vagrant/.bashrc - - wget -nv http://dev.dms-serwis.com.pl/misc/tools_r25.2.3-linux.zip - unzip tools_r25.2.3-linux.zip - rm -f tools_r25.2.3-linux.zip - echo y | ./tools/bin/sdkmanager "build-tools;25.0.1" "build-tools;24.0.0" "platforms;android-25" "platforms;android-24" "platforms;android-23" "platform-tools" "extras;android;m2repository" "extras;google;m2repository" "extras;google;google_play_services" - - chown -R vagrant:vagrant /home/vagrant - chown -R vagrant:vagrant /home/vagrant/.bashrc - - # Minify - apt-get clean - dd if=/dev/zero of=/EMPTY bs=1M - rm -f /EMPTY - rm -rf /tmp/* - - # udev rules - rm /etc/udev/rules.d/70-persistent-net.rules || true - mkdir /etc/udev/rules.d/70-persistent-net.rules || true - rm -rf /dev/.udev/ || true - rm /lib/udev/rules.d/75-persistent-net-generator.rules || true - - SHELL -end diff --git a/nodejs5_jdk_adk25/build_as_vagrant.sh b/nodejs5_jdk_adk25/build_as_vagrant.sh new file mode 100644 index 0000000..e91e95d --- /dev/null +++ b/nodejs5_jdk_adk25/build_as_vagrant.sh @@ -0,0 +1,46 @@ +#!/usr/bin/env bash + +cd ~ + +sudo apt-get install -y unzip wget tar + +echo """ +export PATH=\\$PATH:/home/vagrant/platform-tools:/home/vagrant/build-tools/25.0.1:/home/vagrant/tools +export ANDROID_HOME=/home/vagrant +""" >> /home/vagrant/.bashrc +source /home/vagrant/.bashrc + +(bash wynurz.sh node5 && +npm install -g --unsafe-perm bower gulp cordova@6.3.1 karma) & + +(wget -nv http://dev.dms-serwis.com.pl/misc/tools_r25.2.3-linux.zip && + unzip tools_r25.2.3-linux.zip && + rm -f tools_r25.2.3-linux.zip) & + +wget -nv http://dev.dms-serwis.com.pl/misc/jdk-8u121-linux-x64.tar.gz +tar xzf jdk-8u121-linux-x64.tar.gz +rm -f jdk-8u121-linux-x64.tar.gz +update-alternatives --install /usr/bin/java java /home/vagrant/jdk1.8.0_121/bin/java 100 +update-alternatives --install /usr/bin/javac javac /home/vagrant/jdk1.8.0_121/bin/javac 100 +update-alternatives --install /usr/bin/jar jar /home/vagrant/jdk1.8.0_121/bin/jar 100 +update-alternatives --install /usr/bin/jarsigner jarsigner /home/vagrant/jdk1.8.0_121/bin/jarsigner 100 + +wait %2 + +echo y | ./tools/bin/sdkmanager "build-tools;25.0.1" "build-tools;24.0.0" "platforms;android-25" "platforms;android-24" "platforms;android-23" "platform-tools" "extras;android;m2repository" "extras;google;m2repository" "extras;google;google_play_services" + +wait %1 + +(npm cache clean && +) $ + +$(bash wynurz.sh jdk && +bash wynurz.sh adt) $ + + + + + echo y | ./tools/bin/sdkmanager "build-tools;25.0.1" "build-tools;24.0.0" "platforms;android-25" "platforms;android-24" "platforms;android-23" "platform-tools" "extras;android;m2repository" "extras;google;m2repository" "extras;google;google_play_services" + + + diff --git a/run.sh b/run.sh new file mode 100644 index 0000000..e59f247 --- /dev/null +++ b/run.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +shutdown -h +30 "Timeout on VM creation" + +if [ ! -f "build.sh" ]; then + sudo -H -u vagrant bash build_as_vagrant.sh +else + bash build.sh +fi \ No newline at end of file diff --git a/wynurz.sh b/wynurz.sh new file mode 100644 index 0000000..d72cb65 --- /dev/null +++ b/wynurz.sh @@ -0,0 +1,73 @@ +#!/usr/bin/env bash + +if [ $1 == "java" ]; then + # Oracle Java JRE + apt-get install -y debconf-utils + echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" > /etc/apt/sources.list.d/webupd8team-java.list + echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" >> /etc/apt/sources.list.d/webupd8team-java.list + apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886 + apt-get update + echo debconf shared/accepted-oracle-license-v1-1 select true | debconf-set-selections + apt-get install -y oracle-java8-installer +fi + + +if [ $1 == "javacass" ]; then + bash wynurz.sh java + bash wynurz.sh cassandra +fi + +if [ $1 == "node4" ]; then + apt-get install -y curl git build-essential unzip + curl -sL https://deb.nodesource.com/setup_4.x | bash - + apt-get install -y nodejs +fi + +if [ $1 == "node5" ]; then + apt-get install -y curl git build-essential unzip + curl -sL https://deb.nodesource.com/setup_5.x | bash - + apt-get install -y nodejs +fi + +if [ $1 == "jdk" ]; then + cd /home/vagrant + + rm -f jdk-8u121-linux-x64.tar.gz + + +fi + + +if [ $1 == "cassandra" ]; then + # Install Apache Cassandra + echo "deb http://debian.datastax.com/community stable main" > /etc/apt/sources.list.d/cassandra.sources.list + curl -L http://debian.datastax.com/debian/repo_key | apt-key add - + apt-get update + apt-get install -y cassandra=3.0.9 dsc30 cassandra-tools + + $(sleep 30 && + service cassandra stop && + killall java; + killall cassandra; + rm -rf /var/lib/cassandra/*) $ +fi + +if [ $1 == "zookeeper" ]; then + apt-get install -y zookeeper zookeeperd + (service zookeeper stop && + sleep 20 && + service zookeeper stop) & +fi + +if [ $1 == "rabbitmq" ]; then + apt-get install -y rabbitmq-server=3.3.5-1.1 + service rabbitmq-server stop & +fi + +if [ $1 == "postgresql" ]; then + apt-get install -y postgresql-9.4 + (echo "host all all 0.0.0.0/0 md5" >> /etc/postgresql/9.4/main/pg_hba.conf && + echo "listen_addresses = '*'" >> /etc/postgresql/9.4/main/postgresql.conf && + sudo -u postgres psql --c "ALTER USER postgres WITH PASSWORD 'postgres';" && + systemctl stop postgresql.service) & +fi \ No newline at end of file -- GitLab