Add olive oil and onion to a skillet over medium heat and cook for 5 minutes, stirring occasionally, until lightly browned.
Add garlic and cook for 30 seconds until just browned. Transfer the mixture to a small bowl to cool.
In a large bowl, mix together the cream cheese, bacon, pineapple, and jalapeño until well combined, about 2 minutes.
Fold the onion and garlic into the cream cheese mixture until well combined.
Scrape down the sides of the bowl and form the cream cheese mixture into a ball. Use your hands to round out the shape.
Add the pecans to a shallow bowl, then place the cheese ball on top. Gently roll the cheese ball to coat with pecans on all sides, using your hands to press the nuts into the cheese and reshape as needed.
Tightly cover the cheese ball in plastic wrap and refrigerate for at least 1 hour to set.
Remove the cheese ball from the refrigerator and serve.