diff --git a/Jenkinsfile b/Jenkinsfile index 72e2d5e..d652810 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -40,7 +40,6 @@ pipeline { // Enhanced deployment tracking IMAGE_TAG = "v1.0.${BUILD_NUMBER}" DEPLOYMENT_TYPE = "APPLICATION" - // Enterprise settings TF_IN_AUTOMATION = 'true' TF_INPUT = 'false' @@ -184,8 +183,8 @@ pipeline { script { echo "🔍 SECURITY: Checking if infrastructure is ready for deployment..." - if (params.FORCE_INFRASTRUCTURE_DEPLOY) { - echo "🚨 FORCED: Infrastructure deployment requested via parameter" + if (params.FORCE_INFRASTRUCTURE_DEPLOY || env.DEPLOYMENT_TYPE == "INFRASTRUCTURE") { + echo "🚨 FORCED: Infrastructure deployment requested via parameter or detected changes" env.DEPLOYMENT_TYPE = "INFRASTRUCTURE" currentBuild.description = "INFRASTRUCTURE (forced) | ${env.IMAGE_TAG}" } @@ -232,9 +231,19 @@ pipeline { sh """ echo "🔄 Applying infrastructure changes..." - terraform apply "secure-tfplan-${BUILD_NUMBER}" - echo "🔍 Verifying deployment consistency and security compliance..." - terraform plan -detailed-exitcode -var="cluster_name=${TF_VAR_cluster_name}" -var="vpc_cidr=${TF_VAR_vpc_cidr}" -var="public_subnets=${TF_VAR_public_subnets}" -var="instance_type=${TF_VAR_instance_type}" -var="key_pair_name=${TF_VAR_key_pair_name}" -var="jenkins_ip_cidr=${TF_VAR_jenkins_ip_cidr}" -var="aws_region=${TF_VAR_aws_region}" || echo "⚠️ Infrastructure drift detected - review required" + terraform init \\ + -backend-config="bucket=${TF_BACKEND_BUCKET}" \\ + -backend-config="key=${TF_BACKEND_PREFIX}" \\ + -backend-config="region=${AWS_REGION}" \\ + -backend-config="dynamodb_table=${TF_DDB_TABLE}" + terraform apply -auto-approve \\ + -var="cluster_name=${TF_VAR_cluster_name}" \\ + -var="vpc_cidr=${TF_VAR_vpc_cidr}" \\ + -var="public_subnets=${TF_VAR_public_subnets}" \\ + -var="instance_type=${TF_VAR_instance_type}" \\ + -var="key_pair_name=${TF_VAR_key_pair_name}" \\ + -var="jenkins_ip_cidr=${TF_VAR_jenkins_ip_cidr}" \\ + -var="aws_region=${TF_VAR_aws_region}" """ echo "✅ SECURITY: Infrastructure deployment completed with compliance verification"