diff --git a/AzureResourceManager/azuredeploy.json b/AzureResourceManager/azuredeploy.json index e88116a..64c8f3c 100644 --- a/AzureResourceManager/azuredeploy.json +++ b/AzureResourceManager/azuredeploy.json @@ -27,7 +27,7 @@ }, "artifactoryVersion": { "type": "string", - "defaultValue": "5.9.0", + "defaultValue": "5.10.0", "metadata": { "description": "Artifactory version to deploy. Supported from 5.8.0 and above." } @@ -58,7 +58,6 @@ "allowedValues": [ "12.04.5-LTS", "14.04.2-LTS", - "15.10", "16.04.0-LTS" ], "metadata": { @@ -132,7 +131,7 @@ "extraJavaOptions": { "type": "string", "minLength": 1, - "defaultValue": "-server -Xms2g -Xmx14g -Xss256k -XX:+UseG1GC -XX:OnOutOfMemoryError=\\\"kill -9 %p\\\"", + "defaultValue": "-server -Xms2g -Xmx12g -Xss256k -XX:+UseG1GC -XX:OnOutOfMemoryError=\\\"kill -9 %p\\\"", "metadata": { "description": "Setting Java Memory Parameters for Artifactory. Learn about system requirements for Artifactory https://www.jfrog.com/confluence/display/RTF/System+Requirements#SystemRequirements-RecommendedHardware." } @@ -240,7 +239,7 @@ "osType": { "publisher": "Canonical", "offer": "UbuntuServer", - "sku": "14.04.2-LTS", + "sku": "[parameters('ubuntuOSVersion')]", "version": "latest" }, "apiVersion": "2015-06-15", @@ -708,7 +707,7 @@ "computerNamePrefix": "[variables('namingInfix')]", "adminUsername": "[parameters('adminUsername')]", "adminPassword": "[parameters('adminPassword')]", - "customData": "[base64(concat('#INSTALL SCRIPT INPUTS\nCERTIFICATE_KEY=',parameters('certificateKey'),'\nCERTIFICATE=', parameters('certificate'),'\nCERTIFICATE_DOMAIN=',parameters('certificateDomain'),'\nARTIFACTORY_SERVER_NAME=',parameters('artifactoryServerName'),'\nEXTRA_JAVA_OPTS=',parameters('extraJavaOptions'),'\n'))]" + "customData": "[base64(concat('#INSTALL SCRIPT INPUTS\nCERTIFICATE_KEY=',parameters('certificateKey'),'\nCERTIFICATE=', parameters('certificate'),'\nCERTIFICATE_DOMAIN=',parameters('certificateDomain'),'\nARTIFACTORY_SERVER_NAME=',parameters('artifactoryServerName'),'\nEXTRA_JAVA_OPTS=',parameters('extraJavaOptions'),'\nJDBC_STR=',reference('Microsoft.Resources/deployments/deploySQLDB').outputs.jdbcConnString.value,'\nDB_NAME=',variables('DB_Name'),'\nDB_ADMIN_USER=',variables('DB_Admin_User'),'\nDB_ADMIN_PASSWD=',variables('DB_Admin_Password'),'\nSTO_ACT_NAME=',variables('storageAccountName'),'\nSTO_CTR_NAME=',variables('vmStorageAccountContainerName'),'\nSTO_ACT_KEY=',listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName')), variables('apiVersion')).key1,'\nARTIFACTORY_VERSION=',variables('artifactoryVersion'),'\nMASTER_KEY=',variables('masterKey'),'\nIS_PRIMARY=','true','\nLICENSE1=',variables('artifactoryLicense1'),'\nLICENSE2=',variables('artifactoryLicense2'),'\nLICENSE3=',variables('artifactoryLicense3'),'\nLICENSE4=',variables('artifactoryLicense4'),'\nLICENSE5=',variables('artifactoryLicense5'),'\n'))]" }, "networkProfile": { "networkInterfaceConfigurations": [ @@ -755,7 +754,7 @@ ] }, "protectedSettings": { - "commandToExecute": "[concat('sh install_artifactory.sh ',reference('Microsoft.Resources/deployments/deploySQLDB').outputs.jdbcConnString.value,' ',variables('DB_Name'),' ',variables('DB_Admin_User'),' ',variables('DB_Admin_Password'),' ',variables('storageAccountName'),' ',variables('vmStorageAccountContainerName'),' ',listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName')), variables('apiVersion')).key1,' ',variables('artifactoryVersion'),' ',variables('masterKey'), ' true',' ',variables('artifactoryLicense1'),' ',variables('artifactoryLicense2'),' ',variables('artifactoryLicense3'),' ',variables('artifactoryLicense4'),' ',variables('artifactoryLicense5'))]" + "commandToExecute": "sh install_artifactory.sh" } } } @@ -799,7 +798,7 @@ "computerNamePrefix": "[variables('namingInfix')]", "adminUsername": "[parameters('adminUsername')]", "adminPassword": "[parameters('adminPassword')]", - "customData": "[base64(concat('#INSTALL SCRIPT INPUTS\nCERTIFICATE_KEY=',parameters('certificateKey'),'\nCERTIFICATE=', parameters('certificate'),'\nCERTIFICATE_DOMAIN=',parameters('certificateDomain'),'\nARTIFACTORY_SERVER_NAME=',parameters('artifactoryServerName'),'\nEXTRA_JAVA_OPTS=',parameters('extraJavaOptions'),'\n'))]" + "customData": "[base64(concat('#INSTALL SCRIPT INPUTS\nCERTIFICATE_KEY=',parameters('certificateKey'),'\nCERTIFICATE=', parameters('certificate'),'\nCERTIFICATE_DOMAIN=',parameters('certificateDomain'),'\nARTIFACTORY_SERVER_NAME=',parameters('artifactoryServerName'),'\nEXTRA_JAVA_OPTS=',parameters('extraJavaOptions'),'\nJDBC_STR=',reference('Microsoft.Resources/deployments/deploySQLDB').outputs.jdbcConnString.value,'\nDB_NAME=',variables('DB_Name'),'\nDB_ADMIN_USER=',variables('DB_Admin_User'),'\nDB_ADMIN_PASSWD=',variables('DB_Admin_Password'),'\nSTO_ACT_NAME=',variables('storageAccountName'),'\nSTO_CTR_NAME=',variables('vmStorageAccountContainerName'),'\nSTO_ACT_KEY=',listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName')), variables('apiVersion')).key1,'\nARTIFACTORY_VERSION=',variables('artifactoryVersion'),'\nMASTER_KEY=',variables('masterKey'),'\nIS_PRIMARY=','false','\nLICENSE1=',variables('artifactoryLicense1'),'\nLICENSE2=',variables('artifactoryLicense2'),'\nLICENSE3=',variables('artifactoryLicense3'),'\nLICENSE4=',variables('artifactoryLicense4'),'\nLICENSE5=',variables('artifactoryLicense5'),'\n'))]" }, "networkProfile": { "networkInterfaceConfigurations": [ @@ -846,7 +845,7 @@ ] }, "protectedSettings": { - "commandToExecute": "[concat('sh install_artifactory.sh ',reference('Microsoft.Resources/deployments/deploySQLDB').outputs.jdbcConnString.value,' ',variables('DB_Name'),' ',variables('DB_Admin_User'),' ',variables('DB_Admin_Password'),' ',variables('storageAccountName'),' ',variables('vmStorageAccountContainerName'),' ',listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName')), variables('apiVersion')).key1,' ',variables('artifactoryVersion'),' ',variables('masterKey'), ' false',' ',variables('artifactoryLicense1'),' ',variables('artifactoryLicense2'),' ',variables('artifactoryLicense3'),' ',variables('artifactoryLicense4'),' ',variables('artifactoryLicense5'))]" + "commandToExecute": "sh install_artifactory.sh" } } } diff --git a/AzureResourceManager/azuredeploy.parameters.json b/AzureResourceManager/azuredeploy.parameters.json index f11fcae..53f3bf9 100644 --- a/AzureResourceManager/azuredeploy.parameters.json +++ b/AzureResourceManager/azuredeploy.parameters.json @@ -5,10 +5,10 @@ "vmSku": { "value": "Standard_A4" }, - "vmssName": { + "clusterName": { "value": "GEN-UNIQUE" }, - "capacity": { + "nodeCount": { "value": 1 }, "adminUsername": { @@ -18,10 +18,13 @@ "value": "GEN-PASSWORD" }, "artifactoryVersion": { - "value": "5.8.1" + "value": "5.10.0" }, "masterKey": { "value": "35767fa0164bac66b6cccb8880babefb" + }, + "artifactoryLicense1": { + "value": "GEN-UNIQUE" } } -} \ No newline at end of file +} diff --git a/AzureResourceManager/images/Parameters.png b/AzureResourceManager/images/Parameters.png index 7227baa..a735cef 100644 Binary files a/AzureResourceManager/images/Parameters.png and b/AzureResourceManager/images/Parameters.png differ diff --git a/AzureResourceManager/scripts/install_artifactory.sh b/AzureResourceManager/scripts/install_artifactory.sh index c5dedbf..2c03813 100644 --- a/AzureResourceManager/scripts/install_artifactory.sh +++ b/AzureResourceManager/scripts/install_artifactory.sh @@ -1,22 +1,21 @@ #!/bin/bash +DB_URL=$(cat /var/lib/cloud/instance/user-data.txt | grep "^JDBC_STR" | sed "s/JDBC_STR=//") +DB_NAME=$(cat /var/lib/cloud/instance/user-data.txt | grep "^DB_NAME=" | sed "s/DB_NAME=//") +DB_USER=$(cat /var/lib/cloud/instance/user-data.txt | grep "^DB_ADMIN_USER=" | sed "s/DB_ADMIN_USER=//") +DB_PASSWORD=$(cat /var/lib/cloud/instance/user-data.txt | grep "^DB_ADMIN_PASSWD=" | sed "s/DB_ADMIN_PASSWD=//") +STORAGE_ACCT=$(cat /var/lib/cloud/instance/user-data.txt | grep "^STO_ACT_NAME=" | sed "s/STO_ACT_NAME=//") +STORAGE_CONTAINER=$(cat /var/lib/cloud/instance/user-data.txt | grep "^STO_CTR_NAME=" | sed "s/STO_CTR_NAME=//") +STORAGE_ACCT_KEY=$(cat /var/lib/cloud/instance/user-data.txt | grep "^STO_ACT_KEY=" | sed "s/STO_ACT_KEY=//") +ARTIFACTORY_VERSION=$(cat /var/lib/cloud/instance/user-data.txt | grep "^ARTIFACTORY_VERSION=" | sed "s/ARTIFACTORY_VERSION=//") +MASTER_KEY=$(cat /var/lib/cloud/instance/user-data.txt | grep "^MASTER_KEY=" | sed "s/MASTER_KEY=//") +IS_PRIMARY=$(cat /var/lib/cloud/instance/user-data.txt | grep "^IS_PRIMARY=" | sed "s/IS_PRIMARY=//") +ARTIFACTORY_LICENSE_1=$(cat /var/lib/cloud/instance/user-data.txt | grep "^LICENSE1=" | sed "s/LICENSE1=//") +ARTIFACTORY_LICENSE_2=$(cat /var/lib/cloud/instance/user-data.txt | grep "^LICENSE2=" | sed "s/LICENSE2=//") +ARTIFACTORY_LICENSE_3=$(cat /var/lib/cloud/instance/user-data.txt | grep "^LICENSE3=" | sed "s/LICENSE3=//") +ARTIFACTORY_LICENSE_4=$(cat /var/lib/cloud/instance/user-data.txt | grep "^LICENSE4=" | sed "s/LICENSE4=//") +ARTIFACTORY_LICENSE_5=$(cat /var/lib/cloud/instance/user-data.txt | grep "^LICENSE5=" | sed "s/LICENSE5=//") -DB_URL=$1 -DB_NAME=$2 -DB_USER=$3 -DB_PASSWORD=$4 - -STORAGE_ACCT=$5 -STORAGE_CONTAINER=$6 -STORAGE_ACCT_KEY=$7 -ARTIFACTORY_VERSION=$8 -MASTER_KEY=$9 -IS_PRIMARY=$10 - -ARTIFACTORY_LICENSE_1=$11 -ARTIFACTORY_LICENSE_2=$12 -ARTIFACTORY_LICENSE_3=$13 -ARTIFACTORY_LICENSE_4=$14 -ARTIFACTORY_LICENSE_5=$15 +UBUNTU_CODENAME=$(cat /etc/lsb-release | grep "^DISTRIB_CODENAME=" | sed "s/DISTRIB_CODENAME=//") export DEBIAN_FRONTEND=noninteractive @@ -35,7 +34,7 @@ mkdir -p /etc/pki/tls/private/ /etc/pki/tls/certs/ openssl req -nodes -x509 -newkey rsa:4096 -keyout /etc/pki/tls/private/example.key -out /etc/pki/tls/certs/example.pem -days 356 -subj "/C=US/ST=California/L=SantaClara/O=IT/CN=*.localhost" # install the MySQL stack -echo "deb https://jfrog.bintray.com/artifactory-pro-debs trusty main" | tee -a /etc/apt/sources.list +echo "deb https://jfrog.bintray.com/artifactory-pro-debs ${UBUNTU_CODENAME} main" | tee -a /etc/apt/sources.list curl https://bintray.com/user/downloadSubjectPublicKey?username=jfrog | apt-key add - apt-get update apt-get -y install nginx>> /tmp/install-nginx.log 2>&1 @@ -207,7 +206,7 @@ rm /tmp/temp.key echo "artifactory.ping.allowUnauthenticated=true" >> /var/opt/jfrog/artifactory/etc/artifactory.system.properties EXTRA_JAVA_OPTS=$(cat /var/lib/cloud/instance/user-data.txt | grep "^EXTRA_JAVA_OPTS=" | sed "s/EXTRA_JAVA_OPTS=//") -[ -z "$EXTRA_JAVA_OPTS" ] && EXTRA_JAVA_OPTS='-server -Xms2g -Xmx12g -Xss256k -XX:+UseG1GC -XX:OnOutOfMemoryError="kill -9 %p"' +[ -z "$EXTRA_JAVA_OPTS" ] && EXTRA_JAVA_OPTS='-server -Xms2g -Xmx6g -Xss256k -XX:+UseG1GC -XX:OnOutOfMemoryError="kill -9 %p"' echo "export JAVA_OPTIONS=\"${EXTRA_JAVA_OPTS}\"" >> /var/opt/jfrog/artifactory/etc/default chown artifactory:artifactory -R /var/opt/jfrog/artifactory/* && chown artifactory:artifactory -R /var/opt/jfrog/artifactory/etc/security && chown artifactory:artifactory -R /var/opt/jfrog/artifactory/etc/* @@ -216,3 +215,4 @@ sleep $((RANDOM % 120)) service artifactory start service nginx start nginx -s reload +echo "INFO: Artifactory installation completed." diff --git a/CloudFormation/artifactory-enterprise.json b/CloudFormation/artifactory-enterprise.json index 35412f5..27db01d 100644 --- a/CloudFormation/artifactory-enterprise.json +++ b/CloudFormation/artifactory-enterprise.json @@ -54,7 +54,7 @@ "ArtifactoryVersion": { "Description": "Artifactory version to deploy", "Type": "String", - "Default": "5.8.1" + "Default": "5.10.0" }, "ArtifactoryLicense1": { @@ -1347,4 +1347,4 @@ "Value" : { "Fn::Join" : [ "", [ "http://", { "Fn::GetAtt" : [ "ElasticLoadBalancer", "DNSName" ]}]]} } } -} \ No newline at end of file +} diff --git a/Terraform/variables.tf b/Terraform/variables.tf index 5ccd263..881bbe4 100644 --- a/Terraform/variables.tf +++ b/Terraform/variables.tf @@ -9,7 +9,7 @@ variable "key_name" { variable "artifactory_version" { description = "Artifactory version to deploy" - default = "5.8.1" + default = "5.10.0" } variable "artifactory_license_1" { @@ -130,4 +130,4 @@ variable "aws_amis" { sa-east-1 = "ami-6dd04501" cn-north-1 = "ami-8e6aa0e3" } -} \ No newline at end of file +}