diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3907f17b9a53f20f2c7f8541a5d2f267d19d81ff..082dd4bf5606dbac0d330ddaaa50a8c3461f2913 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,74 +1,144 @@ -.job_template: &box_build_job +build_cassandra: + only: + - master + - /^cassandra\-(.*)$/ stage: build - before_script: - - python make.py - - cp *.sh $BOX/ - - cp SkeletonVagrantfile $BOX/Vagrantfile tags: - vagrant - develop19216822423 + before_script: + - python make.py + - cp *.sh cassandra/ + - cp SkeletonVagrantfile cassandra/Vagrantfile + - cd cassandra script: - 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 + - vagrant package --out cassandra.box + - mv -f cassandra.box /var/www/html/dev/vagrant/cassandra.box + - vagrant box remove henrietta//cassandra + - vagrant box add henrietta//cassandra file:///var/www/html/dev/vagrant/cassandra.box - cd .. after_script: - vagrant destroy -f - - -build_.git: - <<: *box_build_job - variables: - BOX: ".git" - PREFIX: "henrietta/" - only: - - master - - /^.git\-(.*)$/ - -build_cassandra: - <<: *box_build_job - variables: - BOX: cassandra - PREFIX: henrietta/ - only: - - master - - /^cassandra\-(.*)$/ + - cd .. build_cass_zk_rmq: - <<: *box_build_job - variables: - BOX: cass_zk_rmq - PREFIX: henrietta/ only: - master - /^cass_zk_rmq\-(.*)$/ + stage: build + tags: + - vagrant + - develop19216822423 + before_script: + - python make.py + - cp *.sh cass_zk_rmq/ + - cp SkeletonVagrantfile cass_zk_rmq/Vagrantfile + - cd cass_zk_rmq + script: + - vagrant up + - vagrant package --out cass_zk_rmq.box + - mv -f cass_zk_rmq.box /var/www/html/dev/vagrant/cass_zk_rmq.box + - vagrant box remove henrietta//cass_zk_rmq + - vagrant box add henrietta//cass_zk_rmq file:///var/www/html/dev/vagrant/cass_zk_rmq.box + - cd .. + after_script: + - vagrant destroy -f + - cd .. build_czr_pythons: - <<: *box_build_job - variables: - BOX: czr_pythons - PREFIX: henrietta/ only: - master - /^czr_pythons\-(.*)$/ + stage: build + tags: + - vagrant + - develop19216822423 + before_script: + - python make.py + - cp *.sh czr_pythons/ + - cp SkeletonVagrantfile czr_pythons/Vagrantfile + - cd czr_pythons + script: + - vagrant up + - vagrant package --out czr_pythons.box + - mv -f czr_pythons.box /var/www/html/dev/vagrant/czr_pythons.box + - vagrant box remove henrietta//czr_pythons + - vagrant box add henrietta//czr_pythons file:///var/www/html/dev/vagrant/czr_pythons.box + - cd .. + after_script: + - vagrant destroy -f + - cd .. + +build_czr_pythons_pg: + only: + - master + - /^czr_pythons_pg\-(.*)$/ + stage: build + tags: + - vagrant + - develop19216822423 + before_script: + - python make.py + - cp *.sh czr_pythons_pg/ + - cp SkeletonVagrantfile czr_pythons_pg/Vagrantfile + - cd czr_pythons_pg + script: + - vagrant up + - vagrant package --out czr_pythons_pg.box + - mv -f czr_pythons_pg.box /var/www/html/dev/vagrant/czr_pythons_pg.box + - vagrant box remove henrietta//czr_pythons_pg + - vagrant box add henrietta//czr_pythons_pg file:///var/www/html/dev/vagrant/czr_pythons_pg.box + - cd .. + after_script: + - vagrant destroy -f + - cd .. build_nodejs4: - <<: *box_build_job - variables: - BOX: nodejs4 - PREFIX: henrietta/ only: - master - /^nodejs4\-(.*)$/ + stage: build + tags: + - vagrant + - develop19216822423 + before_script: + - python make.py + - cp *.sh nodejs4/ + - cp SkeletonVagrantfile nodejs4/Vagrantfile + - cd nodejs4 + script: + - vagrant up + - vagrant package --out nodejs4.box + - mv -f nodejs4.box /var/www/html/dev/vagrant/nodejs4.box + - vagrant box remove henrietta//nodejs4 + - vagrant box add henrietta//nodejs4 file:///var/www/html/dev/vagrant/nodejs4.box + - cd .. + after_script: + - vagrant destroy -f + - cd .. build_nodejs5_jdk_adk25: - <<: *box_build_job - variables: - BOX: nodejs5_jdk_adk25 - PREFIX: henrietta/ only: - master - /^nodejs5_jdk_adk25\-(.*)$/ + stage: build + tags: + - vagrant + - develop19216822423 + before_script: + - python make.py + - cp *.sh nodejs5_jdk_adk25/ + - cp SkeletonVagrantfile nodejs5_jdk_adk25/Vagrantfile + - cd nodejs5_jdk_adk25 + script: + - vagrant up + - vagrant package --out nodejs5_jdk_adk25.box + - mv -f nodejs5_jdk_adk25.box /var/www/html/dev/vagrant/nodejs5_jdk_adk25.box + - vagrant box remove henrietta//nodejs5_jdk_adk25 + - vagrant box add henrietta//nodejs5_jdk_adk25 file:///var/www/html/dev/vagrant/nodejs5_jdk_adk25.box + - cd .. + after_script: + - vagrant destroy -f + - cd .. diff --git a/make.py b/make.py index 530e5ca412f4d068c592f0816452a212ff4dee8c..3c3d1afaeeb11655177b1c38b10f42c42c81f882 100644 --- a/make.py +++ b/make.py @@ -5,7 +5,7 @@ import os import os.path if __name__ == '__main__': - dirs = [dir for dir in os.listdir('.') if os.path.isdir(dir)] + dirs = [dir for dir in os.listdir('.') if os.path.isdir(dir) or (dir != '.git')] exi = lambda box, sup: os.path.exists(os.path.join(box, 'build%s.sh' % (sup, ))) boxes = [box for box in dirs if exi(box, '') or exi(box, '_as_vagrant')] @@ -13,21 +13,20 @@ if __name__ == '__main__': with open('.gitlab-ci.yml', 'wb') as ci: for box in boxes: ci.write(b''' -build_%s: - <<: *box_build_job +build_$BOX: only: - master - /^$BOX\-(.*)$/ stage: build + tags: + - vagrant + - develop19216822423 before_script: - python make.py - cp *.sh $BOX/ - cp SkeletonVagrantfile $BOX/Vagrantfile - tags: - - vagrant - - develop19216822423 - script: - cd $BOX + script: - vagrant up - vagrant package --out $BOX.box - mv -f $BOX.box /var/www/html/dev/vagrant/$BOX.box @@ -35,7 +34,9 @@ build_%s: - vagrant box add $PREFIX/$BOX file:///var/www/html/dev/vagrant/$BOX.box - cd .. after_script: - - vagrant destroy -f'''.replace('$BOX', box).replace('$PREFIX', 'henrietta/')) + - vagrant destroy -f + - cd .. +'''.replace('$BOX', box).replace('$PREFIX', 'henrietta/')) # Generate metadata for box in boxes: