In this repository, you can install GitHub Enterprise Server with Terraform. To maintain the terraform state, we use Azure Storage.
To authenticate Azure from terraform, see here and configure the authentication in Terraform.
The terraform configuration uses Azure backend to store its state. To initialize Azure backend, run the following commands:
$ cd azure-storage-blob-backend
$ terraform init
$ terraform apply
Run the following commands:
$ cd ghes
$ terraform init
$ terraform apply
To deploy a new GitHub Enterprise Server instance with GitHub Actions, you need to fork this repository first.
Then you need to create a service principal to authenticate on Azure. To create a new service principal, see here.
Then specify the following secrets at your repository's Secrets setting page. You can get all of the following values on creating a service principal.
Secret name | description |
---|---|
ARM_CLIENT_ID | Client ID |
ARM_CLIENT_SECRET | Client secret |
ARM_SUBSCRIPTION_ID | Subscription ID |
ARM_TENANT_ID | Tenant ID |
The deploy job will be triggered on push to master
branch.