Location: Portland, OR
We are a creative, successful, and long-running software company situated in Portland, OR specializing in the development and hosting of technology solutions for transportation agencies. We are looking for a consultant in the DevOps space to help us automate our software deployment and configuration process. If this is the kind of position and company you’d be interested in - please send your resume to email@example.com. We value diversity in the workplace and encourage women, minorities, and veterans to apply. Thank you.
Job Type: Contract
AS/IS, current state:
TO/BE, the goal:
1) Automate the delivery and configuration of new software releases across client test environments (10 - 15) as that software is released.
2) Maintain a configuration version control history for each Agency.
We are envisioning something like:
1, Take a newly released application from Dev that includes default Dev configuration values
2, Deploy it to multiple Agency test environments (each with their own Agency specific configuration values)
3, Merge Dev and Agency configuration values so that Agency values overwrite Dev values
4, Where the new release contains new configuration values, then deploy using Dev values
5, Start up the application
6, Capture new configuration versions in version control when configuration values are modified in each Agency deployment.
We are not currently trying to automate a full deployment pipeline from our development machines to Production. Rather, we are currently focused on automating the delivery process from our development machines to our test environment. So, this immediate project is not about creating a full continuous deployment pipeline.
Jenkins is our tool of choice for delivery automation as we have an SLA commitment to using Jenkins.
Why this project?
Simply put, efficiency and composure. Our software is modular and highly configurable. A single software version may be used by 10 different agencies with 10 very different configuration schemes and in conjunction with different sets of integrated software modules. Manually deploying and configuring each new release of software in each agency test environment is severely time consuming and prone to configuration mistakes. The large amount of time it can take to get new releases deployed and then tested tends to push our entire development process out of sync.
Requirements for this project:
1, Come onsite and do a discovery phase by interviewing key stakeholders for this project
2, Create a detailed project plan and roadmap with key deliverable dates
3, Implement the delivery and configuration automation solution using Jenkins and take the project to full completion
4, Provide training to in-house staff as needed