To initiate a deployment, download both the ARM template (azuredeploy.json), the bash script (deploy.sh), and the jenkins/ folder to the same directory in a bash shell.
You can download these manually or using git clone. For example:
git clone https://github.com/Azure-Samples/openhack-devops-proctor.gitNote: Azure Cloud Shell will be the easiest to use as it has all of the required tooling (az/sqlcmd/bcp/dig/etc.) installed already.
You must be logged in to Azure already using az login. The deployment script as shown in the example will not perform a login for you.
To execute a deployment, you can run deploy.sh with a single parameter (-l for location). e.g. To deploy into eastus:
bash deploy.sh -l eastusNote: Some Azure services are not available in all locations. A list of known locations will need to be built out over time.
An optional container deployment is available if you wish to create your environment by supplying a username and password to the deployment script.
Note: This method does not support MFA-enabled logins. Please clone the repository and use the deployment script manually after executing
az login.
-
To execute a container deployment, build a container using the Dockerfile located in the provision-team directory.
docker build -f Dockerfile . -t devopsohdeploy:latest -
Run the container, replacing the tokens
<AZURE_USERNAME>,<AZURE_PASSWORD>, and<LOCATION>with a username and password that have the required permissions and a location which can accommodate the required resources.docker run -i -t devopsohdeploy:latest /bin/bash -c "export PATH="$PATH:/opt/mssql-tools/bin" && cd /deploy && bash deploy.sh -l <LOCATION> -u '<AZURE_USERNAME>' -p '<AZURE_PASSWORD>'"
The current deployment stack requires the following tooling and versions:
- Azure CLI v2.3.0 (or higher) (Installation instructions)
- sqlcmd v17.5.0001.2 Linux (or higher) (Installaton instructions)
- bcp
- dig v9.10.3 (or higher)
- git
-
You must be a Contributor or an Owner on the subscription where you would like to deploy.
Note: If you are using a custom role, you must have
writepermissions to create all the resources required for this OpenHack.
| Azure resource | Pricing tier/SKU | Purpose |
|---|---|---|
| Azure SQL Database | Standard S3: 100 DTUs | mydrivingDB |
| Azure Container Registry | Basic | Private container registry |
| Azure Container Instance | 1 CPU core/1.5 GiB RAM | Jenkins container |
| Azure Key Vault | Standard | Key vault for database secrets |
| App Service Plan | Standard S2 | App Service Plan for all Azure Web Apps |
| Azure Container Instance | 1 CPU core/1.5 GiB RAM | Simulator |