Job Title: Automation Engineer (CI/CD, GitHub Actions, Terraform, Azure, Ansible, Liquibase)
Location: Chicago, IL (Onsite-Local only)
Duration: Contract to Hire
Job Overview:
We are looking for a skilled Automation Engineer to join our DevOps team. The ideal candidate will have extensive experience in building and maintaining CI/CD pipelines with a focus on automating the deployment of application artifacts and database changes across multiple environments. You will work closely with developers, cloud architects, and operations teams to streamline the delivery of software solutions using GitHub Actions, Terraform, Azure, Ansible, and Liquibase, while managing deployments across Windows and Linux environments.
Key Responsibilities:
- Design, develop, and maintain CI/CD pipelines using GitHub Actions to automate the deployment of application artifacts and database changes on both Windows and Linux systems.
- Use Terraform to define and provision infrastructure in Azure cloud environments, ensuring support for mixed operating systems (Windows/Linux).
- Implement infrastructure as code (IaC) best practices for consistent and repeatable deployments across heterogeneous environments.
- Develop and maintain Ansible playbooks for automating configuration management and application deployments on both Windows and Linux servers.
- Collaborate with development teams to integrate automated testing, security checks, and other quality controls into CI/CD pipelines that support cross-platform deployments.
- Automate the release management process, ensuring application artifacts (e.g., Docker images, JARs, EXE/MSI packages) and database changes (using Liquibase) are efficiently deployed to appropriate environments.
- Manage database version control and deployment using Liquibase, ensuring smooth application and database synchronization during releases.
- Ensure high availability, scalability, and security of the automated deployment processes across Windows and Linux platforms.
- Troubleshoot and resolve issues in deployment pipelines, infrastructure, and application environments on both Windows and Linux systems.
- Monitor CI/CD pipeline and infrastructure performance, making recommendations for optimizations across operating systems.
- Document processes, workflows, and configurations for continuous improvement and knowledge sharing, focusing on mixed Windows/Linux environments.
Key Skills and Experience: 5-8 Years
Must Have:
- CI/CD Automation: Expertise in setting up CI/CD pipelines using GitHub Actions for both Windows and Linux systems to automate build, test, and deployment processes.
- Terraform: Hands-on experience with Terraform to provision infrastructure in Azure across both Windows and Linux environments.
- Ansible: Proven experience with Ansible for automating configurations, orchestration, and application deployments on both Windows (e.g., using WinRM) and Linux systems.
- Liquibase: Experience with Liquibase for managing database schema changes, version control, and automating database deployments as part of the CI/CD pipeline.
- Operating Systems: Proficiency in managing and automating deployments in both Windows and Linux environments. Strong experience with PowerShell scripting for Windows and Bash scripting for Linux.
- Azure: Strong working knowledge of Microsoft Azure, including services such as Azure App Services, Azure Kubernetes Service (AKS), Azure Virtual Machines, and Azure DevOps. Experience deploying applications in both Windows and Linux environments on Azure.
- Containerization: Experience with deploying and managing containerized applications using Docker, and orchestrating them in Kubernetes or Azure AKS, with container support for both operating systems.
- Scripting: Proficiency in scripting languages such as Python, PowerShell (for Windows), and Bash (for Linux) to automate tasks in CI/CD processes.
- Version Control: Strong experience with Git for source code management, branching strategies, and collaboration.
- Monitoring & Troubleshooting: Experience with monitoring and troubleshooting tools across both Windows and Linux environments, including performance monitoring, logs, and telemetry.
Desirable:
- Experience with Azure DevOps Pipelines, Jenkins, or CircleCI, supporting both Windows and Linux platforms.
- Experience in secure application deployment practices across both Windows and Linux (including secrets management, SSL, and vulnerability scanning).
- Experience with Windows Server and Linux distributions (e.g., Ubuntu, RedHat, CentOS), including tasks such as patching, security hardening, and performance tuning.
- Familiarity with database management systems (e.g., PostgreSQL, MySQL, SQL Server) and their deployment in cloud environments.
- Experience with Artifact Repositories such as Nexus, Artifactory, or GitHub Packages for managing deployment artifacts (e.g., EXE, MSI, DEB, RPM, etc.).
- Knowledge of Agile and DevOps methodologies, with the ability to adapt to a fast-paced development and deployment environment.