Day 80 of DevOps, Day 30 of Azure. Both tasks today put a credential somewhere it did not belong, and in both cases the documented way out was one setting away.
A Jenkins job types a server password into a shell command, three times, in plain text. And an Azure SQL server ends up open to the internet with its admin password as the only thing in the way, behind a firewall rule whose notation means something other than it appears to.
One Jenkins task, one Azure task. Chain two jobs so a restart follows a deployment, then create a managed SQL database. The tasks come from the KodeKloud Engineer platform.
Task 1: Two jobs, chained
The task: nautilus-app-deployment pulls the latest code into /var/www/html , and manage-services restarts httpd afterwards.
Step 1: The chaining is the good part
Splitting this into two jobs is right, and worth saying before the rest of this section pulls the implementation apart.
Deploy and restart are separate concerns with separate failure modes.…