Newer
Older
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/*';
else
git clone https://github.com/uabrc/CRI_XCBC.git;
git remote add upstream https://github.com/jprorama/CRI_XCBC.git
- 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
cleanup:
when: always
stage: cleanup
tags:
- build
script:
- >
cd CRI_XCBC;
git checkout uab-prod;