diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000000000000000000000000000000000000..24e9420cc22f06973576369c0ae680c218f2bf75 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,77 @@ +image: + name: python:3.6 + +variables: + PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip" + ANSIBLE_REMOTE_TMP: "/tmp" + PKR_VAR_flavor: "m1.small" + PKR_VAR_source_image: "CentOS-7-x86_64-GenericCloud-2009" + PKR_VAR_floating_ip_network: "uab-campus" + PKR_VAR_security_groups: '["ssh-secgrp"]' + PKR_VAR_skip_create_image: "false" + PKR_VAR_ssh_username: "centos" + PKR_VAR_networks: '["7ac7d980-20bc-4e53-8528-6809e139fdcc"]' + PKR_VAR_build_instance_name: "ood-${CI_COMMIT_SHORT_SHA}" + +cache: + paths: + - bin/ + - .cache/pip + - venv/ + - CRI_XCBC/ + +stages: + - build + +setup_environment: + stage: build + tags: + - build + script: + - > + if [ ! -f $CI_PROJECT_DIR/bin/packer ]; then + wget https://releases.hashicorp.com/packer/1.8.3/packer_1.8.3_linux_amd64.zip + unzip packer_1.8.3_linux_amd64.zip -d bin + rm -vf *.zip + fi + - $CI_PROJECT_DIR/bin/packer --version + - python --version + - python3 -m venv venv + - source venv/bin/activate + - pip install --upgrade pip + - pip install s3cmd ansible + - > + if cd CRI_XCBC; then + git checkout uab-prod; git pull; + git fetch origin '+refs/pull/*/head:refs/remotes/origin/pr/*'; + cd ..; + else + git clone https://github.com/uabrc/CRI_XCBC.git; + fi + - s3cmd get --force --host=$AWS_HOST --host-bucket=$AWS_HOST s3://ood-config/group_vars/all CRI_XCBC/group_vars/all + - s3cmd get --force -r --host=$AWS_HOST --host-bucket=$AWS_HOST s3://cheaha-cloud-ansible-files/ ansible/files/ + +validate: + stage: build + needs: + - setup_environment + tags: + - build + script: + - source venv/bin/activate + - $CI_PROJECT_DIR/bin/packer validate openstack + +build_image: + stage: build + needs: + - validate + tags: + - build + script: + - "sed -i 's/hosts:.*$/hosts: default/' CRI_XCBC/ood-packer.yaml" + - cat CRI_XCBC/ood-packer.yaml + - source venv/bin/activate + - sed -i 's/\(\"--extra-vars\)/\"-vvv\", \1/' openstack/nodeimage.pkr.hcl + - sed -i 's/inventory_file.*/extra_arguments=[\"-vvv\"]/' openstack/nodeimage.pkr.hcl + - cat openstack/nodeimage.pkr.hcl + - $CI_PROJECT_DIR/bin/packer build openstack