chore(autotest): start kafka and pulsar

This commit is contained in:
mengzhenyu 2022-02-15 16:09:15 +08:00
parent 5c39e0eca5
commit 4f5c7347a2
1 changed files with 307 additions and 174 deletions

View File

@ -126,13 +126,250 @@ jobs:
# aws ec2 start-instances --instance-ids i-0c5dccd394ed9be18
# aws ec2 start-instances --instance-ids i-04c1c50b3e4952266
#
terraform_mysql:
# terraform_mysql:
# runs-on: ubuntu-latest
#
# outputs:
# mysql_ip: ${{ steps.mysql_ip.outputs.mysql_ip }}
# mysql_url: ${{ steps.mysql_url.outputs.mysql_url }}
# steps:
# - name: Checkout tf-test-automation
# uses: actions/checkout@v2
# with:
# repository: emqx/tf-test-automation
# ref: emqx-broker
# path: tf-test-automation
# - name: Setup Terraform
# uses: hashicorp/setup-terraform@v1.3.2
# with:
# terraform_wrapper: false
# - name: Terraform Init tf-test-automation
# working-directory: ./tf-test-automation/services/mysql
# id: init1
# run: |
# terraform init --backend-config="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" --backend-config="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}"
# - name: Terraform Validate tf-test-automation
# working-directory: ./tf-test-automation/services/mysql
# id: validate1
# run: terraform validate -no-color
# - name: Terraform Apply tf-test-automation
# working-directory: ./tf-test-automation/services/mysql
# id: mysql_url
# run: |
# terraform apply -auto-approve -var="db_password=public123" -var="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" -var="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}"
# echo "::set-output name=mysql_url::$(terraform output endpoint)"
# - name: Rename and upload mysql tfstate
# working-directory: ./tf-test-automation/services/mysql
# run: |
# mv ./terraform.tfstate ./mysql.tfstate
# - uses: actions/upload-artifact@v2
# if: always()
# with:
# name: tfstate
# path: ./tf-test-automation/services/mysql/mysql.tfstate
# - name: Show mysql url
# id: mysql_ip
# run: |
# ip=`echo "${{ steps.mysql_url.outputs.mysql_url }}"|awk -F ':' '{print $1}'`
# echo "::set-output name=mysql_ip::$ip"
# - name: Show mysql ip
# run: |
# echo ${{ steps.mysql_url.outputs.mysql_url }}
# echo ${{ steps.mysql_ip.outputs.mysql_ip }}
##
# terraform_redis:
# runs-on: ubuntu-latest
#
# outputs:
# redis_ip: ${{ steps.redis_ip.outputs.redis_ip }}
# steps:
# - name: Checkout tf-test-automation
# uses: actions/checkout@v2
# with:
# repository: emqx/tf-test-automation
# ref: emqx-broker
# path: tf-test-automation
# - name: Setup Terraform
# uses: hashicorp/setup-terraform@v1.3.2
# with:
# terraform_wrapper: false
# - name: Terraform Init tf-test-automation
# working-directory: ./tf-test-automation/services/redis
# id: init
# run: |
# terraform init --backend-config="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" --backend-config="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}"
# - name: Terraform Validate tf-test-automation
# working-directory: ./tf-test-automation/services/redis
# id: validate
# run: terraform validate -no-color
# - name: Terraform Apply tf-test-automation
# working-directory: ./tf-test-automation/services/redis
# id: redis_ip
# run: |
# terraform apply -auto-approve -var="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" -var="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}" -var="private_key=${{ secrets.CI_SSH_PRIVATE_KEY }}"
# echo "::set-output name=redis_ip::$(terraform output redis_private_ips)"
# - name: Rename and upload redis server tfstate
# working-directory: ./tf-test-automation/services/redis
# run: |
# mv ./terraform.tfstate ./redis.tfstate
# - uses: actions/upload-artifact@v2
# if: always()
# with:
# name: tfstate
# path: ./tf-test-automation/services/redis/redis.tfstate
# - name: Show redis ip
# run: |
# echo ${{ steps.redis_ip.outputs.redis_ip }}
#
# terraform_pgsql:
# runs-on: ubuntu-latest
#
# outputs:
# pgsql_url: ${{ steps.pgsql_url.outputs.pgsql_url }}
# pgsql_ip: ${{ steps.pgsql_ip.outputs.pgsql_ip }}
# steps:
# - name: Checkout tf-test-automation
# uses: actions/checkout@v2
# with:
# repository: emqx/tf-test-automation
# ref: emqx-broker
# path: tf-test-automation
# - name: Setup Terraform
# uses: hashicorp/setup-terraform@v1.3.2
# with:
# terraform_wrapper: false
# - name: Terraform Init tf-test-automation
# working-directory: ./tf-test-automation/services/pgsql
# id: init
# run: |
# terraform init --backend-config="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" --backend-config="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}"
# - name: Terraform Validate tf-test-automation
# working-directory: ./tf-test-automation/services/pgsql
# id: validate
# run: terraform validate -no-color
# - name: Terraform Apply tf-test-automation
# working-directory: ./tf-test-automation/services/pgsql
# id: pgsql_url
# run: |
# terraform apply -auto-approve -var="db_password=public123" -var="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" -var="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}"
# echo "::set-output name=pgsql_url::$(terraform output endpoint)"
# - name: Rename and upload pgsql server tfstate
# working-directory: ./tf-test-automation/services/pgsql
# run: |
# mv ./terraform.tfstate ./pgsql.tfstate
# - uses: actions/upload-artifact@v2
# if: always()
# with:
# name: tfstate
# path: ./tf-test-automation/services/pgsql/pgsql.tfstate
# - name: Show pgsql url
# id: pgsql_ip
# run: |
# ip=`echo "${{ steps.pgsql_url.outputs.pgsql_url }}"|awk -F ':' '{print $1}'`
# echo "::set-output name=pgsql_ip::$ip"
# - name: Show pgsql ip
# run: |
# echo ${{ steps.pgsql_url.outputs.pgsql_url }}
# echo ${{ steps.pgsql_ip.outputs.pgsql_ip }}
#
# terraform_mongo:
# runs-on: ubuntu-latest
#
# outputs:
# mongo_ip: ${{ steps.mongo_ip.outputs.mongo_ip }}
# steps:
# - name: Checkout tf-test-automation
# uses: actions/checkout@v2
# with:
# repository: emqx/tf-test-automation
# ref: emqx-broker
# path: tf-test-automation
# - name: Setup Terraform
# uses: hashicorp/setup-terraform@v1.3.2
# with:
# terraform_wrapper: false
# - name: Terraform Init tf-test-automation
# working-directory: ./tf-test-automation/services/mongodb
# id: init
# run: |
# terraform init --backend-config="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" --backend-config="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}"
# - name: Terraform Validate tf-test-automation
# working-directory: ./tf-test-automation/services/mongodb
# id: validate
# run: terraform validate -no-color
# - name: Terraform Apply tf-test-automation
# working-directory: ./tf-test-automation/services/mongodb
# id: mongo_ip
# run: |
# terraform apply -auto-approve -var="db_password=public123" -var="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" -var="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}" -var="private_key=${{ secrets.CI_SSH_PRIVATE_KEY }}"
# echo "::set-output name=mongo_ip::$(terraform output mongo_private_ips)"
# - name: Rename and upload mongo server tfstate
# working-directory: ./tf-test-automation/services/mongodb
# run: |
# mv ./terraform.tfstate ./mongo.tfstate
# - uses: actions/upload-artifact@v2
# if: always()
# with:
# name: tfstate
# path: ./tf-test-automation/services/mongodb/mongo.tfstate
# - name: Show mongo ip
# run: |
# echo ${{ steps.mongo_ip.outputs.mongo_ip }}
#
# terraform_webhook:
# runs-on: ubuntu-latest
#
# outputs:
# webhook_ip: ${{ steps.webhook_ip.outputs.webhook_ip }}
# steps:
# - name: Checkout tf-test-automation
# uses: actions/checkout@v2
# with:
# repository: emqx/tf-test-automation
# ref: emqx-broker
# path: tf-test-automation
# - name: Setup Terraform
# uses: hashicorp/setup-terraform@v1.3.2
# with:
# terraform_wrapper: false
# - name: Terraform Init tf-test-automation
# working-directory: ./tf-test-automation/services/webhook
# id: init
# run: |
# terraform init --backend-config="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" --backend-config="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}"
# - name: Terraform Validate tf-test-automation
# working-directory: ./tf-test-automation/services/webhook
# id: validate
# run: terraform validate -no-color
# - name: Terraform Apply tf-test-automation
# working-directory: ./tf-test-automation/services/webhook
# id: webhook_ip
# run: |
# terraform apply -auto-approve -var="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" -var="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}" -var="private_key=${{ secrets.CI_SSH_PRIVATE_KEY }}"
# echo "::set-output name=webhook_ip::$(terraform output webhook_private_ips)"
# - name: Rename and upload webhook server tfstate
# working-directory: ./tf-test-automation/services/webhook
# run: |
# mv ./terraform.tfstate ./webhook.tfstate
# - uses: actions/upload-artifact@v2
# if: always()
# with:
# name: tfstate
# path: ./tf-test-automation/services/webhook/webhook.tfstate
# - name: Show webhook ip
# run: |
# echo ${{ steps.webhook_ip.outputs.webhook_ip }}
terraform_kafka:
runs-on: ubuntu-latest
outputs:
mysql_ip: ${{ steps.mysql_ip.outputs.mysql_ip }}
mysql_url: ${{ steps.mysql_url.outputs.mysql_url }}
zk_ip: ${{ steps.zk_ip.outputs.zk_ip }}
kafka_ip: ${{ steps.kafka_ip.outputs.kafka_ip }}
kafka_bootstrap: ${{ steps.zk_ip.outputs.kafka_bootstrap }}
kafka_cli_ip: ${{ steps.kafka_cli_ip.outputs.kafka_cli_ip }}
steps:
# install kafka cluster
- name: Checkout tf-test-automation
uses: actions/checkout@v2
with:
@ -144,44 +381,79 @@ jobs:
with:
terraform_wrapper: false
- name: Terraform Init tf-test-automation
working-directory: ./tf-test-automation/services/mysql
working-directory: ./tf-test-automation/services/kafka
id: init1
run: |
terraform init --backend-config="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" --backend-config="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}"
- name: Terraform Validate tf-test-automation
working-directory: ./tf-test-automation/services/mysql
working-directory: ./tf-test-automation/services/kafka
id: validate1
run: terraform validate -no-color
- name: Terraform Apply tf-test-automation
working-directory: ./tf-test-automation/services/mysql
id: mysql_url
working-directory: ./tf-test-automation/services/kafka
id: zk_ip
run: |
terraform apply -auto-approve -var="db_password=public123" -var="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" -var="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}"
echo "::set-output name=mysql_url::$(terraform output endpoint)"
- name: Rename and upload mysql tfstate
working-directory: ./tf-test-automation/services/mysql
terraform apply -auto-approve -var="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" -var="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}"
echo "::set-output name=zk_ip::$(terraform output zk_ip)"
echo "::set-output name=kafka_bootstrap::$(terraform output kafka_bootstrap_brokers_tls)"
- name: Rename and upload kafka server tfstate
working-directory: ./tf-test-automation/services/kafka
run: |
mv ./terraform.tfstate ./mysql.tfstate
mv ./terraform.tfstate ./kafka.tfstate
- uses: actions/upload-artifact@v2
if: always()
with:
name: tfstate
path: ./tf-test-automation/services/mysql/mysql.tfstate
- name: Show mysql url
id: mysql_ip
path: ./tf-test-automation/services/kafka/kafka.tfstate
- name: Show kafka ip
id: kafka_ip
run: |
ip=`echo "${{ steps.mysql_url.outputs.mysql_url }}"|awk -F ':' '{print $1}'`
echo "::set-output name=mysql_ip::$ip"
- name: Show mysql ip
ip=${{ steps.zk_ip.outputs.zk_ip }}
echo "::set-output name=kafka_ip::${ip:4:50}"
- name: Show kafka url
run: |
echo ${{ steps.mysql_url.outputs.mysql_url }}
echo ${{ steps.mysql_ip.outputs.mysql_ip }}
#
terraform_redis:
echo ${{ steps.zk_ip.outputs.zk_ip }}
echo ${{ steps.zk_ip.outputs.kafka_bootstrap }}
echo ${{ steps.kafka_ip.outputs.kafka_ip }}
# install kafka client
- name: Checkout tf-kafka-client
uses: actions/checkout@v2
with:
repository: emqx/tf-kafka-client
path: tf-kafka-client
- name: Terraform Init tf-kafka-client
working-directory: ./tf-kafka-client
id: init2
run: |
terraform init --backend-config="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" --backend-config="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}"
- name: Terraform Validate tf-kafka-client
working-directory: ./tf-kafka-client
id: validate2
run: terraform validate -no-color
- name: Terraform Apply tf-kafka-client
working-directory: ./tf-kafka-client
id: kafka_cli_ip
run: |
terraform apply -auto-approve -var="key_name=emqx-ci-robor" -var="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" -var="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}" -var="zk_ip=${{ steps.zk_ip.outputs.zk_ip }}" -var="kafka_topic=testTopic1" -var="private_key=${{ secrets.CI_SSH_PRIVATE_KEY }}"
echo "::set-output name=kafka_cli_ip::$(terraform output public_ip)"
- name: Rename and upload kafka cli tfstate
working-directory: ./tf-kafka-client
run: |
mv terraform.tfstate kafka-cli.tfstate
- uses: actions/upload-artifact@v2
if: always()
with:
name: tfstate
path: ./tf-kafka-client/kafka-cli.tfstate
- name: Show kafka cli ip
run: |
echo ${{ steps.kafka_cli_ip.outputs.kafka_cli_ip }}
terraform_pulsar:
runs-on: ubuntu-latest
outputs:
redis_ip: ${{ steps.redis_ip.outputs.redis_ip }}
pulsar_ip: ${{ steps.pulsar_ip.outputs.pulsar_ip }}
steps:
- name: Checkout tf-test-automation
uses: actions/checkout@v2
@ -194,171 +466,32 @@ jobs:
with:
terraform_wrapper: false
- name: Terraform Init tf-test-automation
working-directory: ./tf-test-automation/services/redis
working-directory: ./tf-test-automation/services/pulsar
id: init
run: |
terraform init --backend-config="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" --backend-config="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}"
- name: Terraform Validate tf-test-automation
working-directory: ./tf-test-automation/services/redis
working-directory: ./tf-test-automation/services/pulsar
id: validate
run: terraform validate -no-color
- name: Terraform Apply tf-test-automation
working-directory: ./tf-test-automation/services/redis
id: redis_ip
working-directory: ./tf-test-automation/services/pulsar
id: pulsar_ip
run: |
terraform apply -auto-approve -var="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" -var="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}" -var="private_key=${{ secrets.CI_SSH_PRIVATE_KEY }}"
echo "::set-output name=redis_ip::$(terraform output redis_private_ips)"
- name: Rename and upload redis server tfstate
working-directory: ./tf-test-automation/services/redis
terraform apply -auto-approve -var="key_name=emqx-ci-robor" -var="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" -var="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}" -var="private_key=${{ secrets.CI_SSH_PRIVATE_KEY }}"
echo "::set-output name=pulsar_ip::$(terraform output pulsar_private_ips)"
- name: Rename and upload pulsar server tfstate
working-directory: ./tf-test-automation/services/pulsar
run: |
mv ./terraform.tfstate ./redis.tfstate
mv ./terraform.tfstate ./pulsar.tfstate
- uses: actions/upload-artifact@v2
if: always()
with:
name: tfstate
path: ./tf-test-automation/services/redis/redis.tfstate
- name: Show redis ip
path: ./tf-test-automation/services/pulsar/pulsar.tfstate
- name: Show pulsar ip
run: |
echo ${{ steps.redis_ip.outputs.redis_ip }}
terraform_pgsql:
runs-on: ubuntu-latest
outputs:
pgsql_url: ${{ steps.pgsql_url.outputs.pgsql_url }}
pgsql_ip: ${{ steps.pgsql_ip.outputs.pgsql_ip }}
steps:
- name: Checkout tf-test-automation
uses: actions/checkout@v2
with:
repository: emqx/tf-test-automation
ref: emqx-broker
path: tf-test-automation
- name: Setup Terraform
uses: hashicorp/setup-terraform@v1.3.2
with:
terraform_wrapper: false
- name: Terraform Init tf-test-automation
working-directory: ./tf-test-automation/services/pgsql
id: init
run: |
terraform init --backend-config="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" --backend-config="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}"
- name: Terraform Validate tf-test-automation
working-directory: ./tf-test-automation/services/pgsql
id: validate
run: terraform validate -no-color
- name: Terraform Apply tf-test-automation
working-directory: ./tf-test-automation/services/pgsql
id: pgsql_url
run: |
terraform apply -auto-approve -var="db_password=public123" -var="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" -var="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}"
echo "::set-output name=pgsql_url::$(terraform output endpoint)"
- name: Rename and upload pgsql server tfstate
working-directory: ./tf-test-automation/services/pgsql
run: |
mv ./terraform.tfstate ./pgsql.tfstate
- uses: actions/upload-artifact@v2
if: always()
with:
name: tfstate
path: ./tf-test-automation/services/pgsql/pgsql.tfstate
- name: Show pgsql url
id: pgsql_ip
run: |
ip=`echo "${{ steps.pgsql_url.outputs.pgsql_url }}"|awk -F ':' '{print $1}'`
echo "::set-output name=pgsql_ip::$ip"
- name: Show pgsql ip
run: |
echo ${{ steps.pgsql_url.outputs.pgsql_url }}
echo ${{ steps.pgsql_ip.outputs.pgsql_ip }}
terraform_mongo:
runs-on: ubuntu-latest
outputs:
mongo_ip: ${{ steps.mongo_ip.outputs.mongo_ip }}
steps:
- name: Checkout tf-test-automation
uses: actions/checkout@v2
with:
repository: emqx/tf-test-automation
ref: emqx-broker
path: tf-test-automation
- name: Setup Terraform
uses: hashicorp/setup-terraform@v1.3.2
with:
terraform_wrapper: false
- name: Terraform Init tf-test-automation
working-directory: ./tf-test-automation/services/mongodb
id: init
run: |
terraform init --backend-config="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" --backend-config="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}"
- name: Terraform Validate tf-test-automation
working-directory: ./tf-test-automation/services/mongodb
id: validate
run: terraform validate -no-color
- name: Terraform Apply tf-test-automation
working-directory: ./tf-test-automation/services/mongodb
id: mongo_ip
run: |
terraform apply -auto-approve -var="db_password=public123" -var="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" -var="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}" -var="private_key=${{ secrets.CI_SSH_PRIVATE_KEY }}"
echo "::set-output name=mongo_ip::$(terraform output mongo_private_ips)"
- name: Rename and upload mongo server tfstate
working-directory: ./tf-test-automation/services/mongodb
run: |
mv ./terraform.tfstate ./mongo.tfstate
- uses: actions/upload-artifact@v2
if: always()
with:
name: tfstate
path: ./tf-test-automation/services/mongodb/mongo.tfstate
- name: Show mongo ip
run: |
echo ${{ steps.mongo_ip.outputs.mongo_ip }}
terraform_webhook:
runs-on: ubuntu-latest
outputs:
webhook_ip: ${{ steps.webhook_ip.outputs.webhook_ip }}
steps:
- name: Checkout tf-test-automation
uses: actions/checkout@v2
with:
repository: emqx/tf-test-automation
ref: emqx-broker
path: tf-test-automation
- name: Setup Terraform
uses: hashicorp/setup-terraform@v1.3.2
with:
terraform_wrapper: false
- name: Terraform Init tf-test-automation
working-directory: ./tf-test-automation/services/webhook
id: init
run: |
terraform init --backend-config="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" --backend-config="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}"
- name: Terraform Validate tf-test-automation
working-directory: ./tf-test-automation/services/webhook
id: validate
run: terraform validate -no-color
- name: Terraform Apply tf-test-automation
working-directory: ./tf-test-automation/services/webhook
id: webhook_ip
run: |
terraform apply -auto-approve -var="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" -var="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}" -var="private_key=${{ secrets.CI_SSH_PRIVATE_KEY }}"
echo "::set-output name=webhook_ip::$(terraform output webhook_private_ips)"
- name: Rename and upload webhook server tfstate
working-directory: ./tf-test-automation/services/webhook
run: |
mv ./terraform.tfstate ./webhook.tfstate
- uses: actions/upload-artifact@v2
if: always()
with:
name: tfstate
path: ./tf-test-automation/services/webhook/webhook.tfstate
- name: Show webhook ip
run: |
echo ${{ steps.webhook_ip.outputs.webhook_ip }}
echo ${{ steps.pulsar_ip.outputs.pulsar_ip }}
# master_control:
# runs-on: ubuntu-latest