automated terminal push

This commit is contained in:
lenape
2025-07-15 05:35:14 +00:00
parent 8c67b2c218
commit 48f08905db

28
Jenkinsfile vendored
View File

@@ -64,8 +64,8 @@ pipeline {
withCredentials([[$class: 'AmazonWebServicesCredentialsBinding', credentialsId: env.AWS_CRED_ID]]) { withCredentials([[$class: 'AmazonWebServicesCredentialsBinding', credentialsId: env.AWS_CRED_ID]]) {
echo "🔄 Checking/Bootstrapping Terraform backend..." echo "🔄 Checking/Bootstrapping Terraform backend..."
dir(tfBackendDir) { dir(tfBackendDir) {
try { def exitCode = sh(
sh """ script: """
terraform init \\ terraform init \\
-var="aws_region=${TF_VAR_aws_region}" \\ -var="aws_region=${TF_VAR_aws_region}" \\
-var="backend_bucket_name=${TF_BACKEND_BUCKET}" \\ -var="backend_bucket_name=${TF_BACKEND_BUCKET}" \\
@@ -74,15 +74,27 @@ pipeline {
-var="aws_region=${TF_VAR_aws_region}" \\ -var="aws_region=${TF_VAR_aws_region}" \\
-var="backend_bucket_name=${TF_BACKEND_BUCKET}" \\ -var="backend_bucket_name=${TF_BACKEND_BUCKET}" \\
-var="lock_table_name=${TF_DDB_TABLE}" -var="lock_table_name=${TF_DDB_TABLE}"
""" """,
returnStatus: true
)
if (exitCode == 0) {
echo "✅ Terraform backend created successfully" echo "✅ Terraform backend created successfully"
} catch (Exception e) { } else {
if (e.getMessage().contains("BucketAlreadyOwnedByYou") || echo "⚠️ Terraform apply failed, checking if resources already exist..."
e.getMessage().contains("Table already exists")) { def bucketCheck = sh(
script: "aws s3api head-bucket --bucket ${TF_BACKEND_BUCKET} --region ${TF_VAR_aws_region} 2>/dev/null && echo 'exists' || echo 'missing'",
returnStdout: true
).trim()
def tableCheck = sh(
script: "aws dynamodb describe-table --table-name ${TF_DDB_TABLE} --region ${TF_VAR_aws_region} 2>/dev/null && echo 'exists' || echo 'missing'",
returnStdout: true
).trim()
if (bucketCheck == "exists" && tableCheck == "exists") {
echo "✅ Terraform backend already exists - continuing..." echo "✅ Terraform backend already exists - continuing..."
} else { } else {
echo "❌ Unexpected error during backend bootstrap: ${e.getMessage()}" error("❌ Backend bootstrap failed and resources don't exist. Manual intervention required.")
throw e
} }
} }
} }