Merge branch 'fix-private-key-for-ec2-setup-on-ci' into staging #9
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Continuos Deployment Action Staging | |
| on: | |
| push: | |
| branches: | |
| - staging | |
| paths-ignore: | |
| - "terraform/rollback" | |
| - "terraform/staging/rollback" | |
| - "rollback-staging.txt" | |
| - "terraform/rollback_last_deployment.sh" | |
| - ".github/workflows/rollback_last_deployment_staging.yml" | |
| env: | |
| AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID_PLAY_DEVOPS }} | |
| AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY_PLAY_DEVOPS }} | |
| AWS_REGION: "eu-west-2" | |
| TF_VAR_project: "blockchain-indexer" | |
| TF_VAR_region: "eu-west-2" | |
| defaults: | |
| run: | |
| shell: bash | |
| jobs: | |
| deploy: | |
| runs-on: ubuntu-latest | |
| environment: staging | |
| # environment: xxxx can we set this? Is this useful? | |
| env: | |
| ETHEREUM_PEM: ${{ secrets.ETHEREUM_PEM }} | |
| ENVIRONMENT: staging | |
| TF_VAR_environment: staging | |
| TF_VAR_gf_security_admin_user: "${{ secrets.GF_SECURITY_ADMIN_USER }}" | |
| TF_VAR_gf_security_admin_password: "${{ secrets.GF_SECURITY_ADMIN_PASSWORD }}" | |
| TF_VAR_prometheus_admin_password: "${{ secrets.PROMETHEUS_ADMIN_PASSWORD }}" | |
| # TF_VAR_prometheus_admin_password_bcrypted: "${{ secrets.PROMETHEUS_ADMIN_PASSWORD_BCRYPTED }}" | |
| # TF_VAR_prometheus_admin_password_bcrypted: "dummy bcrypted passwordd" | |
| steps: | |
| # ------------------- | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| # ------------------------------------ | |
| - name: Install Terraform | |
| uses: hashicorp/setup-terraform@v3 | |
| with: | |
| terraform_version: 1.13.1 | |
| terraform_wrapper: false | |
| # --------------------- | |
| - name: Terraform init | |
| run: | | |
| cd terraform | |
| cat .envrc | grep -vE '^(dotenv_if_exists|source_env)' > .envrc.good | |
| . ./.envrc.good | |
| cd ${{ env.ENVIRONMENT }} | |
| cat .envrc | grep -vE '^(dotenv_if_exists|source_env)' > .envrc.good | |
| . ./.envrc.good | |
| unset AWS_PROFILE | |
| terraform init | |
| - name: private key for ec2 access | |
| run: echo '${{ env.ETHEREUM_PEM }}' > ./terraform/${{ env.ENVIRONMENT }}/ethereum.pem | |
| # --------------------- | |
| - name: Terraform plan | |
| run: | | |
| cd terraform | |
| cat .envrc | grep -vE '^(dotenv_if_exists|source_env)' > .envrc.good | |
| . ./.envrc.good | |
| cd ${{ env.ENVIRONMENT }} | |
| cat .envrc | grep -vE '^(dotenv_if_exists|source_env)' > .envrc.good | |
| . ./.envrc.good | |
| unset AWS_PROFILE | |
| terraform plan -out planfile | |
| # --------------------- | |
| - name: Terraform apply | |
| run: | | |
| cd terraform | |
| cat .envrc | grep -vE '^(dotenv_if_exists|source_env)' > .envrc.good | |
| . ./.envrc.good | |
| cd ${{ env.ENVIRONMENT }} | |
| cat .envrc | grep -vE '^(dotenv_if_exists|source_env)' > .envrc.good | |
| . ./.envrc.good | |
| unset AWS_PROFILE | |
| terraform apply -input=false planfile | |
| # -------------------------------------------------------------------------------------- | |
| # - name: Post Deploy - Test Service for Server has Correct Task Definition Deployed | |
| # run: | | |
| # cd terraform | |
| # cat .envrc | grep -vE '^(dotenv_if_exists|source_env)' > .envrc.good | |
| # . ./.envrc.good | |
| # cd ${{ env.ENVIRONMENT }} | |
| # cat .envrc | grep -vE '^(dotenv_if_exists|source_env)' > .envrc.good | |
| # . ./.envrc.good | |
| # unset AWS_PROFILE | |
| # export ECS_CLUSTER_NAME_SERVER=$(terraform output -raw error_logs_server_cluster_name) | |
| # export ECS_SERVICE_NAME_SERVER=$(terraform output -raw error_logs_server_service_name) | |
| # export ECS_TASK_DEFINITION_SERVER=$(terraform output -raw error_logs_server_task_definition_revision) | |
| # ../test_deployed_task_definitions.sh "${AWS_REGION}" "${ECS_CLUSTER_NAME_SERVER}" "${ECS_SERVICE_NAME_SERVER}" "${ECS_TASK_DEFINITION_SERVER}" |