Documentation, tooling and other resources related to the Jenkins project's migration to Azure
Go to file
R. Tyler Croy 29eb911716 Merge pull request #1 from jenkins-infra/terraform-003
Merge support for provisioning Azure resources via Terraform
2016-12-12 12:58:41 -08:00
machines Properly add the azureuser in the docker group 2016-09-16 22:16:09 -07:00
plans Refactor the azurerm provider configuration into its own .tf file 2016-11-17 12:27:12 -08:00
scripts Use the same environment variables that the `az` command line uses 2016-11-07 07:28:09 -08:00
.gitignore Initial work on prototyping terraform for managing Azure resources 2016-11-16 14:02:58 -08:00
HACKING.adoc Add a note about the `prefix` variable 2016-11-16 15:40:23 -08:00
LICENSE Initial commit 2016-07-05 11:47:15 -07:00
Makefile Add deploy to the root makefile 2016-11-17 12:30:05 -08:00
README.adoc Admonition icons! 2016-07-05 15:55:25 -07:00
pricing.adoc Add a link to the spreadsheet for pricing 2016-07-06 13:22:17 -07:00
resources.adoc Add some pricing and other resources based on some of my research 2016-07-05 15:56:16 -07:00

README.adoc

<html lang="en"> <head> </head>

Jenkins infra on Azure

This repository is meant to hold documentation, tooling and other resources related to the Jenkins projects migration to Azure.

Migration Plan

This migration plan is for the partnership with Microsoft to run Jenkins project infrastructure on Azure.

Project Milestones

Proof-of-concept with Azure provisioned infrastructure

Spin up resources connected to the existing Jenkins puppet master (puppet.jenkins.io) in Azure.

  • Basic proof of concept of Puppet/ARM integration, make sure we can manage these Azure resources effectively.

  • Some candidates for the purpose of these resources (all non-critical in project infra): Windows build machines for ci.j.o, javadocs site, opengrok installation

Scoped Work

The main areas of work for this milestone would be:

  • Deciding on a strategy for provisioning resources (virtual machines, load balancers, etc) in Azure. This could entail using Terraform, Azure Resource Manager, the puppetlabs/azure module or some combination thereof.

  • Define the Azure Virtual Network (VPC equivalent) for production machines in Azure to be deployed into

  • Define pattern for a "base" virtual machine, based off of Ubuntu 14.04 LTS with Datadog, Docker, and other basic tools installed. This could take the form of a custom image, or something more stock, depending on what works out best on Azure

  • Provision staging resources for the service, whether attached to puppet.jenkins.io or not is yet to be determined.

Estimated time to complete: 2 man-weeks

Provision jenkins.io static site

  • High visibility but low overhead since its just a static site

  • Just jenkins.io, none of the supporting applications in the namespace

Provision alternate Jenkins distribution architecture with Azure CDN

  • Yum repository driven through Azure

  • Apt repository driven through Azure

  • Basic .war and update center (how plugins are delivered)

  • This would be alternate so not quite handling production traffic yet, but would allow for beta testing of the release pipeline on the project side and identifying potential issues with end-to-end SSL distribution

Migrate primary Jenkins distribution to Azure

Provision new ci.jenkins.io on Azure

  • Dynamically provisioning Jenkins build nodes via the Azure plugin

  • Jenkins master running on Azure

Migrate JIRA/Confluence to Azure

  • Big for project contributors, and a huge pain in the ass but otherwise not very note-worthy

Migrate remaining stragglers

</html>