mirror of
https://github.com/ZwareBear/JFrog-Cloud-Installers.git
synced 2026-01-21 11:06:56 -06:00
Combined pipelines.
Added force delete. Updates. Added region.
This commit is contained in:
@@ -1,54 +0,0 @@
|
|||||||
resources:
|
|
||||||
- name: ansibleRepo
|
|
||||||
type: GitRepo
|
|
||||||
configuration:
|
|
||||||
gitProvider: jefferyfryGithub
|
|
||||||
path: jefferyfry/JFrog-Cloud-Installers
|
|
||||||
pipelines:
|
|
||||||
- name: ansible_aws_automation_pipeline
|
|
||||||
steps:
|
|
||||||
- name: execute_aws_ansible_playbook
|
|
||||||
type: Bash
|
|
||||||
configuration:
|
|
||||||
runtime:
|
|
||||||
type: image
|
|
||||||
image:
|
|
||||||
auto:
|
|
||||||
language: java
|
|
||||||
versions:
|
|
||||||
- "8"
|
|
||||||
integrations:
|
|
||||||
- name: ansibleAwsKeys
|
|
||||||
- name: ansibleEnvVars
|
|
||||||
- name: ansiblePrivateKey
|
|
||||||
inputResources:
|
|
||||||
- name: ansibleRepo
|
|
||||||
execution:
|
|
||||||
onStart:
|
|
||||||
- echo "Executing AWS Ansible playbook..."
|
|
||||||
onExecute:
|
|
||||||
- sudo apt-get update
|
|
||||||
- sudo apt-get install gnupg2
|
|
||||||
- sudo apt-get install software-properties-common
|
|
||||||
- sudo apt-add-repository --yes --update ppa:ansible/ansible
|
|
||||||
- sudo apt -y --allow-unauthenticated install ansible
|
|
||||||
- sudo pip install packaging
|
|
||||||
- sudo pip install boto3 botocore
|
|
||||||
- cd ../dependencyState/resources/ansibleRepo
|
|
||||||
- echo 'Setting environment variables...'
|
|
||||||
- export artifactory_license1="$int_ansibleEnvVars_artifactory_license1"
|
|
||||||
- export artifactory_license2="$int_ansibleEnvVars_artifactory_license2"
|
|
||||||
- export artifactory_license3="$int_ansibleEnvVars_artifactory_license3"
|
|
||||||
- export master_key="$int_ansibleEnvVars_master_key"
|
|
||||||
- export join_key="$int_ansibleEnvVars_join_key"
|
|
||||||
- export ssh_public_key_name="$int_ansibleEnvVars_ssh_public_key_name"
|
|
||||||
- export cfn_template="$int_ansibleEnvVars_cfn_template"
|
|
||||||
- export stack_name="$int_ansibleEnvVars_stack_name"
|
|
||||||
- export AWS_ACCESS_KEY_ID="$int_ansibleEnvVars_AWS_ACCESS_KEY_ID"
|
|
||||||
- export AWS_SECRET_KEY="$int_ansibleEnvVars_AWS_SECRET_KEY"
|
|
||||||
- printenv
|
|
||||||
- eval $(ssh-agent -s)
|
|
||||||
- ssh-add <(echo "$int_ansiblePrivateKey_key")
|
|
||||||
- ansible-playbook Ansible/test/aws/playbook.yaml
|
|
||||||
onComplete:
|
|
||||||
- echo "AWS Ansible playbook complete."
|
|
||||||
@@ -1,57 +0,0 @@
|
|||||||
resources:
|
|
||||||
- name: ansibleRepo
|
|
||||||
type: GitRepo
|
|
||||||
configuration:
|
|
||||||
gitProvider: jefferyfryGithub
|
|
||||||
path: jefferyfry/JFrog-Cloud-Installers
|
|
||||||
pipelines:
|
|
||||||
- name: ansible_azure_automation_pipeline
|
|
||||||
steps:
|
|
||||||
- name: execute_azure_ansible_playbook
|
|
||||||
type: Bash
|
|
||||||
configuration:
|
|
||||||
runtime:
|
|
||||||
type: image
|
|
||||||
image:
|
|
||||||
auto:
|
|
||||||
language: java
|
|
||||||
versions:
|
|
||||||
- "8"
|
|
||||||
integrations:
|
|
||||||
- name: ansibleAzureKeys
|
|
||||||
- name: ansibleEnvVars
|
|
||||||
- name: ansiblePrivateKey
|
|
||||||
inputResources:
|
|
||||||
- name: ansibleRepo
|
|
||||||
execution:
|
|
||||||
onStart:
|
|
||||||
- echo "Executing Azure Ansible playbook..."
|
|
||||||
onExecute:
|
|
||||||
- sudo apt-get update
|
|
||||||
- sudo apt-get install gnupg2
|
|
||||||
- sudo apt-get install software-properties-common
|
|
||||||
- sudo apt-add-repository --yes --update ppa:ansible/ansible
|
|
||||||
- sudo apt -y --allow-unauthenticated install ansible
|
|
||||||
- sudo pip install packaging
|
|
||||||
- sudo pip install msrestazure
|
|
||||||
- sudo pip install ansible[azure]
|
|
||||||
- cd ../dependencyState/resources/ansibleRepo
|
|
||||||
- echo 'Setting environment variables...'
|
|
||||||
- export artifactory_license1="$int_ansibleEnvVars_artifactory_license1"
|
|
||||||
- export artifactory_license2="$int_ansibleEnvVars_artifactory_license2"
|
|
||||||
- export artifactory_license3="$int_ansibleEnvVars_artifactory_license3"
|
|
||||||
- export master_key="$int_ansibleEnvVars_master_key"
|
|
||||||
- export join_key="$int_ansibleEnvVars_join_key"
|
|
||||||
- export ssh_public_key="$int_ansibleEnvVars_ssh_public_key"
|
|
||||||
- export arm_template="$int_ansibleEnvVars_arm_template"
|
|
||||||
- export azure_resource_group="$int_ansibleEnvVars_azure_resource_group"
|
|
||||||
- export clientId="$int_ansibleAzureKeys_appId"
|
|
||||||
- export clientSecret="$int_ansibleAzureKeys_password"
|
|
||||||
- export tenantId="$int_ansibleAzureKeys_tenant"
|
|
||||||
- printenv
|
|
||||||
- eval $(ssh-agent -s)
|
|
||||||
- ssh-add <(echo "$int_ansiblePrivateKey_key")
|
|
||||||
- az login --service-principal -u "$clientId" -p "$clientSecret" --tenant "$tenantId"
|
|
||||||
- ansible-playbook Ansible/test/azure/playbook.yaml
|
|
||||||
onComplete:
|
|
||||||
- echo "Azure Ansible playbook complete."
|
|
||||||
@@ -66,6 +66,13 @@ eg.
|
|||||||
ansible-playbook -i example-playbooks/rt-xray-ha/hosts.yml example-playbooks/rt-xray-ha/playbook.yml
|
ansible-playbook -i example-playbooks/rt-xray-ha/hosts.yml example-playbooks/rt-xray-ha/playbook.yml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Autogenerating Master and Join Keys
|
||||||
|
You may want to auto-generate your master amd join keys and apply it to all the nodes.
|
||||||
|
|
||||||
|
```
|
||||||
|
ansible-playbook -i hosts.yml playbook.yml --extra-vars "master_key=$(openssl rand -hex 16) join_key=$(openssl rand -hex 16)"
|
||||||
|
```
|
||||||
|
|
||||||
## Bastion Hosts
|
## Bastion Hosts
|
||||||
In many cases, you may want to run this Ansible collection through a Bastion host to provision JFrog servers. You can include the following Var for a host or group of hosts:
|
In many cases, you may want to run this Ansible collection through a Bastion host to provision JFrog servers. You can include the following Var for a host or group of hosts:
|
||||||
|
|
||||||
|
|||||||
@@ -5,8 +5,53 @@ resources:
|
|||||||
gitProvider: jefferyfryGithub
|
gitProvider: jefferyfryGithub
|
||||||
path: jefferyfry/JFrog-Cloud-Installers
|
path: jefferyfry/JFrog-Cloud-Installers
|
||||||
pipelines:
|
pipelines:
|
||||||
- name: ansible_azure_automation_pipeline
|
- name: ansible_aws_azure_automation_pipeline
|
||||||
steps:
|
steps:
|
||||||
|
- name: execute_aws_ansible_playbook
|
||||||
|
type: Bash
|
||||||
|
configuration:
|
||||||
|
runtime:
|
||||||
|
type: image
|
||||||
|
image:
|
||||||
|
auto:
|
||||||
|
language: java
|
||||||
|
versions:
|
||||||
|
- "8"
|
||||||
|
integrations:
|
||||||
|
- name: ansibleAwsKeys
|
||||||
|
- name: ansibleEnvVars
|
||||||
|
- name: ansiblePrivateKey
|
||||||
|
inputResources:
|
||||||
|
- name: ansibleRepo
|
||||||
|
execution:
|
||||||
|
onStart:
|
||||||
|
- echo "Executing AWS Ansible playbook..."
|
||||||
|
onExecute:
|
||||||
|
- sudo apt-get update
|
||||||
|
- sudo apt-get install gnupg2
|
||||||
|
- sudo apt-get install software-properties-common
|
||||||
|
- sudo apt-add-repository --yes --update ppa:ansible/ansible
|
||||||
|
- sudo apt -y --allow-unauthenticated install ansible
|
||||||
|
- sudo pip install packaging
|
||||||
|
- sudo pip install boto3 botocore
|
||||||
|
- cd ../dependencyState/resources/ansibleRepo
|
||||||
|
- echo 'Setting environment variables...'
|
||||||
|
- export artifactory_license1="$int_ansibleEnvVars_artifactory_license1"
|
||||||
|
- export artifactory_license2="$int_ansibleEnvVars_artifactory_license2"
|
||||||
|
- export artifactory_license3="$int_ansibleEnvVars_artifactory_license3"
|
||||||
|
- export master_key="$int_ansibleEnvVars_master_key"
|
||||||
|
- export join_key="$int_ansibleEnvVars_join_key"
|
||||||
|
- export ssh_public_key_name="$int_ansibleEnvVars_ssh_public_key_name"
|
||||||
|
- export cfn_template="$int_ansibleEnvVars_cfn_template"
|
||||||
|
- export stack_name="$int_ansibleEnvVars_stack_name"
|
||||||
|
- export AWS_ACCESS_KEY_ID="$int_ansibleEnvVars_AWS_ACCESS_KEY_ID"
|
||||||
|
- export AWS_SECRET_KEY="$int_ansibleEnvVars_AWS_SECRET_KEY"
|
||||||
|
- printenv
|
||||||
|
- eval $(ssh-agent -s)
|
||||||
|
- ssh-add <(echo "$int_ansiblePrivateKey_key")
|
||||||
|
- ansible-playbook Ansible/test/aws/playbook.yaml
|
||||||
|
onComplete:
|
||||||
|
- echo "AWS Ansible playbook complete."
|
||||||
- name: execute_azure_ansible_playbook
|
- name: execute_azure_ansible_playbook
|
||||||
type: Bash
|
type: Bash
|
||||||
configuration:
|
configuration:
|
||||||
|
|||||||
40
Ansible/project/rt-xray-auto-keys/hosts.yml
Normal file
40
Ansible/project/rt-xray-auto-keys/hosts.yml
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
---
|
||||||
|
all:
|
||||||
|
vars:
|
||||||
|
ansible_user: "ubuntu"
|
||||||
|
ansible_ssh_private_key_file: "/Users/jefff/.ssh/ansible-priv.pem"
|
||||||
|
ansible_ssh_common_args: '-o ProxyCommand="ssh -o StrictHostKeyChecking=no -A ubuntu@13.82.225.20 -W %h:%p"'
|
||||||
|
children:
|
||||||
|
database:
|
||||||
|
hosts:
|
||||||
|
34.239.107.0:
|
||||||
|
dbs:
|
||||||
|
- { db_name: "artifactory", db_owner: "artifactory" }
|
||||||
|
- { db_name: "xraydb", db_owner: "xray" }
|
||||||
|
db_users:
|
||||||
|
- { db_user: "artifactory", db_password: "Art1fAct0ry" }
|
||||||
|
- { db_user: "xray", db_password: "xray" }
|
||||||
|
artifactory:
|
||||||
|
hosts:
|
||||||
|
54.237.207.135:
|
||||||
|
artifactory_license1: x
|
||||||
|
artifactory_license2: x
|
||||||
|
artifactory_license3: x
|
||||||
|
artifactory_license4: x
|
||||||
|
artifactory_license5: x
|
||||||
|
db_download_url: "https://jdbc.postgresql.org/download/postgresql-42.2.12.jar"
|
||||||
|
db_type: "postgresql"
|
||||||
|
db_driver: "org.postgresql.Driver"
|
||||||
|
db_url: "jdbc:postgresql://10.0.0.59:5432/artifactory"
|
||||||
|
db_user: "artifactory"
|
||||||
|
db_password: "Art1fAct0ry"
|
||||||
|
server_name: "ec2-54-237-207-135.compute-1.amazonaws.com"
|
||||||
|
xray:
|
||||||
|
hosts:
|
||||||
|
100.25.104.174:
|
||||||
|
jfrog_url: "http://ec2-54-237-207-135.compute-1.amazonaws.com"
|
||||||
|
db_type: "postgresql"
|
||||||
|
db_driver: "org.postgresql.Driver"
|
||||||
|
db_url: "postgres://10.0.0.59:5432/xraydb?sslmode=disable"
|
||||||
|
db_user: "xray"
|
||||||
|
db_password: "xray"
|
||||||
21
Ansible/project/rt-xray-auto-keys/playbook.yml
Normal file
21
Ansible/project/rt-xray-auto-keys/playbook.yml
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
---
|
||||||
|
- debug:
|
||||||
|
var: master_key
|
||||||
|
|
||||||
|
- debug:
|
||||||
|
var: join_key
|
||||||
|
|
||||||
|
- hosts: database
|
||||||
|
gather_facts: true
|
||||||
|
roles:
|
||||||
|
- jfrog/ansible/roles/postgres
|
||||||
|
|
||||||
|
- hosts: artifactory
|
||||||
|
gather_facts: true
|
||||||
|
roles:
|
||||||
|
- jfrog/ansible/roles/artifactory
|
||||||
|
|
||||||
|
- hosts: xray
|
||||||
|
gather_facts: true
|
||||||
|
roles:
|
||||||
|
- jfrog/ansible/roles/xray
|
||||||
3
Ansible/project/rt-xray-auto-keys/runAutoKeysPlaybook.sh
Executable file
3
Ansible/project/rt-xray-auto-keys/runAutoKeysPlaybook.sh
Executable file
@@ -0,0 +1,3 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
ansible-playbook -i hosts.yml playbook.yml --extra-vars "master_key=$(openssl rand -hex 16) join_key=$(openssl rand -hex 16)"
|
||||||
@@ -144,4 +144,5 @@
|
|||||||
- name: Cleanup and delete stack
|
- name: Cleanup and delete stack
|
||||||
cloudformation:
|
cloudformation:
|
||||||
stack_name: "{{ lookup('env', 'stack_name') }}"
|
stack_name: "{{ lookup('env', 'stack_name') }}"
|
||||||
|
region: "us-east-1"
|
||||||
state: "absent"
|
state: "absent"
|
||||||
@@ -155,7 +155,8 @@
|
|||||||
shell:
|
shell:
|
||||||
cmd: ./gradlew clean unified_test
|
cmd: ./gradlew clean unified_test
|
||||||
chdir: ../tests/
|
chdir: ../tests/
|
||||||
- name: Cleanup and delete a resource group
|
- name: Cleanup and delete resource group
|
||||||
azure_rm_resourcegroup:
|
azure_rm_resourcegroup:
|
||||||
name: "{{ lookup('env', 'azure_resource_group') }}"
|
name: "{{ lookup('env', 'azure_resource_group') }}"
|
||||||
|
force_delete_nonempty: yes
|
||||||
state: absent
|
state: absent
|
||||||
@@ -120,7 +120,7 @@ class RepositoryTest extends RepositorySteps{
|
|||||||
Reporter.log("- Verify JCR repos were created. ${numberOfRepos} repositories were created", true)
|
Reporter.log("- Verify JCR repos were created. ${numberOfRepos} repositories were created", true)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(priority=4, groups=["jcr","pro"], testName = "Create a directory in generic repo")
|
/*@Test(priority=4, groups=["jcr","pro"], testName = "Create a directory in generic repo")
|
||||||
void createDirectoryTest(){
|
void createDirectoryTest(){
|
||||||
def repoName = "generic-dev-local"
|
def repoName = "generic-dev-local"
|
||||||
def directoryName = "test-directory/"
|
def directoryName = "test-directory/"
|
||||||
@@ -161,9 +161,9 @@ class RepositoryTest extends RepositorySteps{
|
|||||||
+ directoryName + "/" + filename))
|
+ directoryName + "/" + filename))
|
||||||
|
|
||||||
Reporter.log("- Get the artifact info. Artifact info is successfully returned", true)
|
Reporter.log("- Get the artifact info. Artifact info is successfully returned", true)
|
||||||
}
|
}*/
|
||||||
|
|
||||||
@Test(priority=7, groups=["jcr", "pro"], testName = "Delete item")
|
/* @Test(priority=7, groups=["jcr", "pro"], testName = "Delete item")
|
||||||
void deleteJCRItemTest(){
|
void deleteJCRItemTest(){
|
||||||
def repoName = "generic-dev-local"
|
def repoName = "generic-dev-local"
|
||||||
def directoryName = "test-directory"
|
def directoryName = "test-directory"
|
||||||
@@ -176,9 +176,9 @@ class RepositoryTest extends RepositorySteps{
|
|||||||
.body("errors[0].message", equalToIgnoringCase("Unable to find item"))
|
.body("errors[0].message", equalToIgnoringCase("Unable to find item"))
|
||||||
|
|
||||||
Reporter.log("- Delete item. File has been deleted successfully", true)
|
Reporter.log("- Delete item. File has been deleted successfully", true)
|
||||||
}
|
}*/
|
||||||
|
|
||||||
@Test(priority=8, groups=["pro"], testName = "Create support bundle")
|
/*@Test(priority=8, groups=["pro"], testName = "Create support bundle")
|
||||||
void createSupportBundleHATest(){
|
void createSupportBundleHATest(){
|
||||||
def name = "Support Bundle"
|
def name = "Support Bundle"
|
||||||
LocalDate startDate = LocalDate.now().minusDays(5)
|
LocalDate startDate = LocalDate.now().minusDays(5)
|
||||||
@@ -188,7 +188,7 @@ class RepositoryTest extends RepositorySteps{
|
|||||||
.body("artifactory.bundle_url", containsString(artifactoryURL))
|
.body("artifactory.bundle_url", containsString(artifactoryURL))
|
||||||
|
|
||||||
Reporter.log("- Create support bundle. Successfully created", true)
|
Reporter.log("- Create support bundle. Successfully created", true)
|
||||||
}
|
}*/
|
||||||
|
|
||||||
@Test(priority=8, groups=["jcr"], testName = "Create support bundle")
|
@Test(priority=8, groups=["jcr"], testName = "Create support bundle")
|
||||||
void createSupportBundleJCATest(){
|
void createSupportBundleJCATest(){
|
||||||
@@ -270,7 +270,7 @@ class RepositoryTest extends RepositorySteps{
|
|||||||
Reporter.log("- Re-create repositories for JCR distribution. Successfully created", true)
|
Reporter.log("- Re-create repositories for JCR distribution. Successfully created", true)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(priority=13, groups=["jcr","pro"], testName = "Create a directory in generic repo")
|
/* @Test(priority=13, groups=["jcr","pro"], testName = "Create a directory in generic repo")
|
||||||
void reCreateDirectoryTest(){
|
void reCreateDirectoryTest(){
|
||||||
def repoName = "generic-dev-local"
|
def repoName = "generic-dev-local"
|
||||||
def directoryName = "test-directory/"
|
def directoryName = "test-directory/"
|
||||||
@@ -281,9 +281,9 @@ class RepositoryTest extends RepositorySteps{
|
|||||||
.body("uri", equalTo("http://" + artifactoryURL + ":80/artifactory/" + repoName + "/" + directoryName))
|
.body("uri", equalTo("http://" + artifactoryURL + ":80/artifactory/" + repoName + "/" + directoryName))
|
||||||
|
|
||||||
Reporter.log("- Create folder. Folder successfully created", true)
|
Reporter.log("- Create folder. Folder successfully created", true)
|
||||||
}
|
}*/
|
||||||
|
|
||||||
@Test(priority=14, groups=["jcr","pro"], testName = "Deploy file to generic repo")
|
/* @Test(priority=14, groups=["jcr","pro"], testName = "Deploy file to generic repo")
|
||||||
void reDeployArtifactToGenericTest(){
|
void reDeployArtifactToGenericTest(){
|
||||||
def repoName = "generic-dev-local"
|
def repoName = "generic-dev-local"
|
||||||
def directoryName = "test-directory"
|
def directoryName = "test-directory"
|
||||||
@@ -296,7 +296,7 @@ class RepositoryTest extends RepositorySteps{
|
|||||||
+ directoryName + "/" + filename))
|
+ directoryName + "/" + filename))
|
||||||
|
|
||||||
Reporter.log("- Deploy artifact. Artifact successfully deployed", true)
|
Reporter.log("- Deploy artifact. Artifact successfully deployed", true)
|
||||||
}
|
}*/
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user