diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 46120407ed06aca9b23860391907a8f69d882976..5502baf3cafb5617a2650043b4647ea3fcc76922 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -110,6 +110,30 @@ workflow: reports: dotenv: image.env +build_http_proxy_image: + stage: build + environment: + name: $ENV + tags: + - build + variables: + PROXY_ENABLE_VAR: "enable_http_proxy" + <<: *build_proxy_image_template + rules: + - if: $PIPELINE_TARGET == "build" && $BUILD_TARGET == "http-proxy" + when: always + +build_ssh_proxy_image: + stage: build + environment: + name: $ENV + tags: + - build + <<: *build_proxy_image_template + rules: + - if: $PIPELINE_TARGET == "build" && $BUILD_TARGET == "ssh-proxy" + when: always + .build_compute_image_template: &build_compute_image_template script: - *update_ansible_repo @@ -272,3 +296,39 @@ deploy_ssh_proxy_node: rules: - if: $PIPELINE_TARGET == "deploy" && $SSH_PROXY_IMAGE_ID when: always + +deploy_compute_node: + stage: deploy + environment: + name: $ENV + tags: + - build + script: + - openstack image set --accept $compute-${BUILD_DATE} || true + - FAILED=false + - | + cat > user_data.txt <<EOF + #!/bin/bash + cat >> /etc/NetworkManager/conf.d/90-dns-none.conf<<EEOF + [main] + dns=none + EEOF + systemctl reload NetworkManager + echo "$DEV_KEY" >> /root/.ssh/authorized_keys + ip route replace default via ${DEFAULT_GATEWAY_IP} dev eth0 + git clone ${CI_REPOSITORY_URL} /tmp/${CI_PROJECT_NAME} + cd /tmp/${CI_PROJECT_NAME} + git checkout ${CI_COMMIT_REF_NAME} + cat >> ansible/hosts<<EEOF + [$ENV] + 127.0.0.1 + EEOF + ansible-playbook -c local -i ansible/hosts --extra-vars="$EXTRA_VARS" ansible/cluster.yml | tee -a /tmp/ansible.log + rm -rf /tmp/${CI_PROJECT_NAME} + EOF + - | + + rules: + - if: $PIPELINE_TARGET == "deploy" + when: always +