Yes, you can shove an ally
The rules for shoving say
Using the Attack action, you can make a special melee attack to shove a creature ... The target must be no more than one size larger than you and must be within your reach. (PHB, p. 195)
There is nothing here to suggest that the target must explicitly be an enemy. Your ally is a creature, so you can attempt to shove them (provided they are no more than one size larger than you and within your reach).
Even if the rules did imply that the target should be an enemy, the rules never define the distinction between friend and foe. You could as a player declare your 'ally' to be an enemy after you have moved through them but before your shove, then declare them to be your friend again afterwards (assuming they accept your offer of friendship). But this should be unnecessary unless your GM is oddly adamant that you can only shove an enemy, and if they are of that persuasion they would be unlikely to let you switch your ally-enemy designations so easily.
A tactical reason to shove your ally
There is an advantage to moving your allies using the shove action (provided you can get the correct positioning to shove them in the correct direction): your ally won't be affected by opportunity attacks.
You also don't provoke an opportunity attack when ... someone or something moves you without using your movement, action or reaction. (PHB, p. 195)
Getting shoved does not use your ally's movement, action or reaction, so your ally does not provoke an opportunity attack when shoved out of an enemy's reach.
From 'Moving Around Other Creatures' (PHB, p. 191), you can move through a nonhostile creature's space, although it counts as difficult terrain so costs double movement. This means you are free to move past your allies. However,
Whether a creature is a friend or an enemy, you can't willingly end your move in its space.
This means you cannot stop in your ally's space to shove them. There must be an empty space on the opposite side of your ally for you to move into before you can shove them.
As for whether your friend can willingly and automatically fail the shoving contest, the rules-as-written say no, since no provision is made for willing failure in the rules for shoving or contests. However, the rules-as-written would allow the DM to provide advantage to you and disadvantage to your friend if you are both working in unison to shove your friend. Additionally, as the defender of a shove can choose between Strength (Athletics) and Dexterity (Acrobatics), your friend could choose the worse of those two skills to further increase the odds.
There are some other alternatives. From this question on failing ability checks, the general consensus appears to be that while there is no provision for choosing to automatically fail a roll, you could attempt a different check where success would be your desired outcome - however, this is no longer the official Shoving a Creature action, but some improvised action which your DM would have to approve and determine DCs for (if success if not decreed to be automatic). Additionally, by not using the Shove a Creature action, you probably lose the benefit of being able to substitute a single attack for a shove and instead need to use your whole action.
Rather than trying to shoehorn success out of a strict rules-as-written reading of the shoving rules, your DM could employ common sense and simply declare that you succeed automatically. As pointed out by KorvinStarmast, the text under 'Ability Checks' (PHB Chapter 7) says,
The DM calls for an ability check when a character or monster attempts an action (other than an attack) that has a chance of failure. When the outcome is uncertain, the dice determine the results.
Shoving uses ability checks so can be argued to fall under this rule, although to make things ambiguous shoving also uses your Attack action (but not an attack roll). It would be within reason for the DM to rule that shoving a creature who is not resisting succeeds automatically, regardless of the minutiae of the rules.