Made with ❤️️ by updatecli
|
||
---|---|---|
.shared-tools@e797dd96c8 | ||
updatecli | ||
.gitignore | ||
.gitmodules | ||
.terraform.lock.hcl | ||
CODEOWNERS | ||
Jenkinsfile_k8s | ||
LICENSE | ||
README.adoc | ||
archives.jenkins.io.tf | ||
archives.tf | ||
backend.tf | ||
cert.ci.jenkins.io.tf | ||
ci.jenkins.io.tf | ||
contributors.jenkins.io.tf | ||
custom-roles.tf | ||
dns.tf | ||
infra.ci.jenkins.io.tf | ||
keycloak.jenkins.io.tf | ||
ldap.jenkins.io.tf | ||
locals.tf | ||
main.tf | ||
matomo.jenkins.io.tf | ||
mysql-public-db.tf | ||
packer-resources.tf | ||
plugin-health.jenkins.io.tf | ||
postgres-public-db.tf | ||
privatek8s.tf | ||
providers.tf | ||
publick8s.tf | ||
puppet.jenkins.io.tf | ||
rating.jenkins.io.tf | ||
reports.jenkins.io.tf | ||
trusted.ci.jenkins.io.tf | ||
updates.jenkins.io.tf | ||
uplink.jenkins.io.tf | ||
variables.tf | ||
versions.tf | ||
vnets.tf |
README.adoc
Jenkins infra on Azure
This repository hosts the infrastructure-as-code definition for all the Azure hosted resources for the Jenkins Infrastructure Project.
See also https://github.com/jenkins-infra/azure-net for all global network related resources.
Requirements
In order to use this repository to provision the Jenkins infrastructure on azure, you need:
-
An
Azure
account -
The requirements (of the shared tools) listed at shared-tools/terraform#requirements
-
The Terraform AzureRM Backend Configuration on a local file named
backend-config
:-
The content can be retrieved from the outputs of the (private) repository terraform-states
-
This file (
backend-config
) is git-ignored
-
-
The git command line to allow cloning the repository and its submodule shared-tools
-
This repository has submodules. Once you cloned the repository, execute the following command to obtain the shared tools:
-
git submodule update --init --recursive
HowTo
Provision
❗
|
Don’t blindly execute the terraform code located in this repository on your own account as it may lead your account bill to significantly increase. |
Once you’ve fulfilled the Requirements, you may execute any command from https://github.com/jenkins-infra/shared-tools/blob/main/terraform/README.adoc#available-commands by adding the correct flag --directory
pointing to .shared-tools/terraform/
:
make --directory=.shared-tools/terraform help
make --directory=.shared-tools/terraform lint
# ...
A usual change to this repository looks like the following:
-
Fork the repository and clone it locally
-
Follow the Requirements steps to obtain the shared tools
-
Start by running a full
make --directory=.shared-tools/terraform validate
command to ensure that you work on a sane base (should generate a report TXT file with no changes to be applied) -
Edit the Terraform project files
-
Run the command
make --directory=.shared-tools/terraform validate
again to ensure that your changes are OK -
Commit, push and open a pull request to let the Jenkins pipeline run the test + plan (as per https://github.com/jenkins-infra/shared-tools/blob/main/terraform/README.adoc#jenkins-pipeline)