Skip to content

Commit

Permalink
adding pipeline artifacts
Browse files Browse the repository at this point in the history
  • Loading branch information
bmoore-msft committed Jul 16, 2019
1 parent 635aaf2 commit 8018ebc
Show file tree
Hide file tree
Showing 4 changed files with 809 additions and 101 deletions.
53 changes: 53 additions & 0 deletions test/ci-gen-setup/.config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
{
"READ_ME": "This file cotains the values for 'GEN' Parameters used in the pipeline. These values WILL NOT WORK in your own pipeline. Values that require only 'data' can usually be used as-is. Any value referencing a resource will require a resource to be created in the subscription templates will be deployed to. It should go without saying that you should not use any of these secrets, certs or data in a non-test environment. You can generate some of your own values using the scripts in the repo. Also note that the values in this file are static values. Values that are generated each time like passwords are handled in the Gen-TemplateParameters.ps1 script.",
"READ_ME_NOTE": "When setting up your own pipeline, you only need to populate the values you want to use. For example, if you're not testing templates that use VHDs, you don't need to store the vhd's and can leave that part out of the file.",
"READ_ME_ACCESS": "You'll need to make sure the princiapl deploying template has the appropriate access to any artifacts stored in Azure and used here.",

"SECTION1": "These vales must be populated manually, they are not generated by Create-GEN-Artifacts.ps1",

"AZUREAD_Comments": "Object ID of a principal used for granting access, can be the principal of the Service Principal running automation (and replaced by the template function when it's in prod)",
"AZUREAD-OBJECTID": "aa0bb455-b949-460c-a1c0-257abae465ef",

"SSH-PUB-KEY": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKMNCI5ClfpHa4lGcFbxg4boSWYyWQ0EwUUAjL17VEXR5CUtNslfwjhkg8mi2Y8K9fkducLYerEgJHpiheFM2ltw1HZat8coIBgh7w3EDtWkjdyk9/CNcrufAE47pRjN4YXVhZW1zUgFORH3AmxLqOXtdMCTOYdzZKaBXa60SUVKd44tRrGQW9vl7SFm+bsgX3mY02HMlxOBZcm65Nn4mLC9h0QdpUsPvU0V2H23yD8Nz3ul1qm6BeuaUtP3mRrcp5hC5+eCQOiJbQp5hXlZEn1Q/TyCP0uKhsUf+hNhZueozFKDSnxa6bMXjkfY5a5J4jQDakDd2RkxYPEnK2s7pf",

"VHD_Comments": "VHD Blobs - current samples work with Windows OS, need one for Generalized, Specialized and a Data Disk",
"VHDRESOURCEGROUP-NAME": "ttk-gen-artifacts",
"VHDSTORAGEACCOUNT-NAME" : "azbotstorage",
"SPECIALIZED-WINVHD-URI": "https://azbotstorage.blob.core.windows.net/vhds/existingspecwinvm.vhd",
"GENERALIZED-WINVHD-URI" : "https://azbotstorage.blob.core.windows.net/vhds/existinggenwinvm.vhd",
"DATAVHD-URI" : "https://azbotstorage.blob.core.windows.net/vhds/existingdatadisk.vhd",
"BACPAC-URI": "https://azbotstorage.blob.core.windows.net/bacpacs/AdventureWorks2016.bacpac",

"CUSTOM_Comments": "A custom domain and corresponding certificate values. These must be valid (i.e. a real cert for the domain) and should not be considered secret.",
"CUSTOM-FQDN-NAME": "armvalidator17384.spektrademos.com",
"CUSTOM-WEBAPP-NAME": "armvalidator17384",
"CUSTOM-DOMAIN-SSLCERT-PASSWORD": "Dj4EqnZrp",
"CUSTOM-DOMAIN-SSLCERT-THUMBPRINT": "6c7788b9de5c17596da6e167223531976671242b",
"CUSTOM-DOMAIN-SSLCERT-PFXDATA": "-----BEGIN CERTIFICATE----- MIIDLTCCAhWgAwIBAgIJAOBkaAqnyXLQMA0GCSqGSIb3DQEBBQUAMC0xKzApBgNVBAMMImFybXZhbGlkYXRvcjE3Mzg0LnNwZWt0cmFkZW1vcy5jb20wHhcNMTcwOTAxMjIwOTI0WhcNMjcwODMwMjIwOTI0WjAtMSswKQYDVQQDDCJhcm12YWxpZGF0b3IxNzM4NC5zcGVrdHJhZGVtb3MuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2datWzcxlB93Y/ZxL+LbreT6r/RF5Z7bJBBTfao+zF7NVm9umLSxfuIcGeMbBoTqXB2vClvOFHlWQ/WWXymrdWg4907PCs7Lv72AV12xSX3XCH94PHo15CieZsYNs39V64n4UUB9xHxGr7Hk/3PPt/dN7Poi2wuCHpJNq+A2j30raN+wHSzhaxs2cohPdy51QHqO0jjCzM/JENPX6Inb0QbojO8tKNpboYh5ebdLrIEQT4S1yqc0ock2t/HXfSlBK6//mhyajLqBjWBRY13iGMltz8qDm/anHk9d4U1cMlUYDp1KtyHqOOMm+ton4EdXCX2pEzwhF9exCGDutgttYwIDAQABo1AwTjAdBgNVHQ4EFgQUO9/KNW1TetsKkekopoZ91Gw0HiIwHwYDVR0jBBgwFoAUO9/KNW1TetsKkekopoZ91Gw0HiIwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAeHV6tdvSSoOU/NGeMuAAC/cIVl67LUc2Gpbzp0XJPSkFijEl2Me5KqULhz43JfBI0c7BR+WoMWAoIMT0tfF0y0yodz8wXSAbtNTRk2rZZHCgTzTu8zvisPVou02yqYWQVNasjYjXWawsUv4w+Ap00zcqxt7zES6e9WXjia07rnIye6V/nD6j6METivucjS5Be8KWvVTNn5lH7PEip9VxWoAPfcHgIj4iECcira/poJXPnxGUl5A7khMj59xrs5T4G7GlC/cgB7lK2/eBV18ZpPipJIDrw7PVlY+Q5r/j2URWYCQ8Hu6J0kvPChhffSGvUEvUSsxqVPsLtUkDf3YiVQ== -----END CERTIFICATE-----",

"SECTION2": "These values and the resources behind them can be generated using Create-GEN-Artifacts.ps1. The values checked into master WILL NOT WORK in your own subscription/repo, they are unique to each subscription.",

"VNET-RESOURCEGROUP-NAME": "ttk-gen-artifacts",
"VNET-NAME": "azbot-vnet",
"VNET-SUBNET1-NAME": "azbot-subnet-1",
"KEYVAULT-NAME": "azbotvault",
"KEYVAULT-RESOURCEGROUP-NAME": "ttk-gen-artifacts",
"KEYVAULT-PASSWORD-SECRET-NAME": "notSecretPassword",
"KEYVAULT-SUBSCRIPTION-ID": "0cec7090-2e08-4498-9337-eb96ade50821",
"KEYVAULT-RESOURCE-ID": "/subscriptions/0cec7090-2e08-4498-9337-eb96ade50821/resourceGroups/ttk-gen-artifacts/providers/Microsoft.KeyVault/vaults/azbotvault",
"SF-CERT-URL": "https://azbotvault.vault.azure.net:443/secrets/azbot-sf-cert/914b53c4adf541ef86195130f5d73840",
"SF-CERT-THUMBPRINT": "416E53BC918A4282311D45AC30B905201F42866E",
"KEYVAULT-ENCRYPTION-KEY": "azbot-diskkey",
"KEYVAULT-ENCRYPTION-KEY-URI": "https://azbotvault.vault.azure.net:443/keys/azbot-diskkey/68b75e8687554c4882d7c5ac6bc51364",
"KEYVAULT-ENCRYPTION-KEY-VERSION": "68b75e8687554c4882d7c5ac6bc51364",
"KEYVAULT-SSL-SECRET-NAME": "azbot-ssl-cert",
"KEYVAULT-SSL-SECRET-URI": "https://azbotvault.vault.azure.net:443/certificates/azbot-ssl-cert/7d7c555fa6ce49a98866a76aff323dd8",
"SELFSIGNED-CERT-PFXDATA": "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",
"SELFSIGNED-CER-CERDATA": "MIIDJzCCAg+gAwIBAgIQfOa9AN9Rc6RKOZNcSiOuyjANBgkqhkiG9w0BAQsFADAZMRcwFQYDVQQDDA5hemJvdC1jZXJ0LWRuczAeFw0xOTA3MDcxNTE3NThaFw0yOTA3MDcxNTI3NTdaMBkxFzAVBgNVBAMMDmF6Ym90LWNlcnQtZG5zMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP26WeB1he1ETxp5ISRkjNb57D7egSIVt/wQQenjFzMUNAxebk+a/LJVn5G3DK5RR7qpzki5BIYgu8D4mPv1U81YkNQ9c/o/9gGD6eQ3pWuvO19H9nwqKDM/HrlfWrtOveqG0Jc9LFYEw86mnNhkqTq9Nf9gNfCHrX4NT1qoqm7vAllwe77C+zSqMQaWddWyj79eHCf6SxjCXGnlQORrZHu0HtMzlaGpab09J94vilmewNan3tp7jsCeJ+gtA/3bmkIxO0TVbQxqMnczf3US6m091TvuaQOF1VWyGlC1Me6pt3gaZWtBZuLNt8Q5/93BCP17l+UIbfoKdDIeBL0taQIDAQABo2swaTAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMBkGA1UdEQQSMBCCDmF6Ym90LWNlcnQtZG5zMB0GA1UdDgQWBBRCuYKH2F0bYG10djhdqhp1fmYgDzANBgkqhkiG9w0BAQsFAAOCAQEAIPbwOsoQRwnZ6CjiTz8n1ovUK2QUfn9mYuwkrD6aLSnB+Brzhp9N92YTkJMCj0RvisnNtlJ+YN6HyonH+J+fNKTqEAC5OJlon6UQ3MdY9rPIZ5ssNmWgn1ZHzRIQoGREiZy4ZgzyaKwAE8h2rN3/XbTBYOKlZb3KVBRSpfK4+RRkoxsck2E1ZzJ2PhOUJfdYs4WA36QRBzI1sKzThqSBrmoQfg07F7mwM4QhAqUwSfU3ej3Cbcamu1MCjE0rTnyZrfKNGzfXMytaT504qR8eXHzMrOoU5PajOdX3vy1BTpWRKUWuZB+JaOt82uffelwiLC5mkvzjh7RERz+ABGX1Uw==",
"SELFSIGNED-CERT-CERDATA": "MIIDJzCCAg+gAwIBAgIQfOa9AN9Rc6RKOZNcSiOuyjANBgkqhkiG9w0BAQsFADAZMRcwFQYDVQQDDA5hemJvdC1jZXJ0LWRuczAeFw0xOTA3MDcxNTE3NThaFw0yOTA3MDcxNTI3NTdaMBkxFzAVBgNVBAMMDmF6Ym90LWNlcnQtZG5zMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP26WeB1he1ETxp5ISRkjNb57D7egSIVt/wQQenjFzMUNAxebk+a/LJVn5G3DK5RR7qpzki5BIYgu8D4mPv1U81YkNQ9c/o/9gGD6eQ3pWuvO19H9nwqKDM/HrlfWrtOveqG0Jc9LFYEw86mnNhkqTq9Nf9gNfCHrX4NT1qoqm7vAllwe77C+zSqMQaWddWyj79eHCf6SxjCXGnlQORrZHu0HtMzlaGpab09J94vilmewNan3tp7jsCeJ+gtA/3bmkIxO0TVbQxqMnczf3US6m091TvuaQOF1VWyGlC1Me6pt3gaZWtBZuLNt8Q5/93BCP17l+UIbfoKdDIeBL0taQIDAQABo2swaTAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMBkGA1UdEQQSMBCCDmF6Ym90LWNlcnQtZG5zMB0GA1UdDgQWBBRCuYKH2F0bYG10djhdqhp1fmYgDzANBgkqhkiG9w0BAQsFAAOCAQEAIPbwOsoQRwnZ6CjiTz8n1ovUK2QUfn9mYuwkrD6aLSnB+Brzhp9N92YTkJMCj0RvisnNtlJ+YN6HyonH+J+fNKTqEAC5OJlon6UQ3MdY9rPIZ5ssNmWgn1ZHzRIQoGREiZy4ZgzyaKwAE8h2rN3/XbTBYOKlZb3KVBRSpfK4+RRkoxsck2E1ZzJ2PhOUJfdYs4WA36QRBzI1sKzThqSBrmoQfg07F7mwM4QhAqUwSfU3ej3Cbcamu1MCjE0rTnyZrfKNGzfXMytaT504qR8eXHzMrOoU5PajOdX3vy1BTpWRKUWuZB+JaOt82uffelwiLC5mkvzjh7RERz+ABGX1Uw==",
"SELFSIGNED-CERT-PASSWORD": "cI#2ee36621-654d-485",
"SELFSIGNED-CERT-THUMBPRINT": "416E53BC918A4282311D45AC30B905201F42866E",
"SELFSIGNED-CERT-DNSNAME": "azbot-cert-dns",

"SECTION3": "End of the values"
}
31 changes: 31 additions & 0 deletions test/pipeline/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Setting Up Your Own CI/CD Pipeline in Azure DevOps

A bit terse for now, but if you want to set up your own AzDO pipeline here are the steps. Please update this file if you find something missing or unclear.

## After Exporting the Pipeline

You can skip this section if you just need to import a pipeline.

- remove "options" property (if present)
- remove "_links" property
- set "badgeEnabled" property to false (doesn't make sense for this repo)
- remove the "queue" property

## Before Importing the Pipeline

Before importing the JSON file do the following:

- Set the project.id property to the guid of the project the pipeline is being imported into - the easiest way to get that is to create an empty pipeline, export it and look for the project.id property value
- If you forget to do this, the error message in AzDO will also show your project.id but you have to start the import over to fix it

## Importing the Pipeline

After importing, and before saving the pipeline you'll need to do the following:

- Change the name of the pipeline as needed
- Set the agent pool (currently we use Windows Containers)
- Set the repo to run the pipeline on (we use the master branch)
- Remove debug tasks if you don't want them
- Update the "Download Template Toolkit Release" task (should be the first one) to use the correct connection (and repo if needed)
- Set variable values, you need ids and secrets for the Service Principals, the others that need updating will have placeholder text
- Set the appropriate triggers, but default this runs on PRs to master and shares secrets. The secrets cannot be exposed unless you do something to expose them.
Loading

0 comments on commit 8018ebc

Please sign in to comment.