diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index af25bc5a3406a4bc734458b32e715095915f2b71..1c9874c53ce7ace194a0c37b589b2c2bd5429e08 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -110,6 +110,32 @@ 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 + variables: + PROXY_ENABLE_VAR: "enable_ssh_proxy" + <<: *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 @@ -149,67 +175,6 @@ build_compute_image: - if: $PIPELINE_TARGET == "build" && $BUILD_TARGET == "compute" when: always -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 - variables: - PROXY_ENABLE_VAR: "enable_ssh_proxy" - <<: *build_proxy_image_template - rules: - - if: $PIPELINE_TARGET == "build" && $BUILD_TARGET == "ssh-proxy" - 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 - deploy_http_proxy_node: stage: deploy environment: @@ -310,3 +275,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 +