From 75a354ce353d53fa64ceb0f48bec68fe11be9329 Mon Sep 17 00:00:00 2001 From: Renat Gofman Date: Tue, 29 Aug 2023 17:43:11 +0300 Subject: [PATCH 1/3] merge Ci envs branch to master (#1) * add ci envs * add ci envs * add ci envs * add ci envs * add ci envs * add ci envs * add ci envs * ensure different namespaces running on different CI images --- .github/workflows/deploy-k8s.yml | 3 ++- .github/workflows/init.yml | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/deploy-k8s.yml b/.github/workflows/deploy-k8s.yml index 9165e78..c8ff0bd 100644 --- a/.github/workflows/deploy-k8s.yml +++ b/.github/workflows/deploy-k8s.yml @@ -68,7 +68,8 @@ jobs: run: | cat .github/workflows/ci-properties.json for i in `cat .github/workflows/ci-properties.json | jq -r .APP_ENV_VARS | jq -r 'keys[]' || true`; do params="${params} --from-literal=$i=$(cat .github/workflows/ci-properties.json | jq -r .APP_ENV_VARS.$i)"; done - for i in `cat .github/workflows/ci-properties.json | jq -r .${{inputs.ci_env}}_ENV_VARS | jq -r 'keys[]' || true`; do params="${params} --from-literal=$i=$(cat .github/workflows/ci-properties.json | jq -r .${{inputs.ci_env}}_ENV_VARS.$i)"; done + echo "result: ${{ inputs.ci_env }}_ENV_VARS" + for i in `cat .github/workflows/ci-properties.json | jq -r .${{ inputs.ci_env }}_ENV_VARS | jq -r 'keys[]' || true`; do params="${params} --from-literal=$i=$(cat .github/workflows/ci-properties.json | jq -r .${{ inputs.ci_env }}_ENV_VARS.$i)"; done echo "ENV VARS from ci-properties.json: $params" echo "::set-output name=k8sparams::$params" diff --git a/.github/workflows/init.yml b/.github/workflows/init.yml index 789cb12..133422c 100644 --- a/.github/workflows/init.yml +++ b/.github/workflows/init.yml @@ -31,6 +31,7 @@ jobs: runs-on: ubuntu-latest outputs: k8s_namespace: ${{ steps.setvars.outputs.k8s_namespace }} + ci_env: ${{ steps.setvars.outputs.ci_env }} image_name: ${{ steps.setvars.outputs.image_name }} registry: ${{ steps.setvars.outputs.registry }} aws_region: ${{ steps.setvars.outputs.aws_region }} @@ -45,8 +46,8 @@ jobs: shell: bash run: | for i in `cat .github/workflows/ci-properties.json | jq -r 'keys[]'`; do - if [[ $i != "APP_ENV_VARS" ]]; then - echo "$i=$( cat .github/workflows/ci-properties.json | jq -r .$i)" >> $GITHUB_ENV + if [[ $i != "APP_ENV_VARS" && $i != "DEV_ENV_VARS" && $i != "PROD_ENV_VARS" ]]; then + echo "$i=$( cat .github/workflows/ci-properties.json | jq -r .$i)" >> $GITHUB_ENV fi done; From 330fe0e0eaed8cf5fc0e990e70220efae9178e91 Mon Sep 17 00:00:00 2001 From: Renat Gofman Date: Mon, 25 Sep 2023 13:49:27 +0300 Subject: [PATCH 2/3] fix deprecated warnings and set action version (#3) --- .github/workflows/deploy-k8s.yml | 12 ++++++------ .github/workflows/init.yml | 20 ++++++++++---------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.github/workflows/deploy-k8s.yml b/.github/workflows/deploy-k8s.yml index c8ff0bd..cffebfb 100644 --- a/.github/workflows/deploy-k8s.yml +++ b/.github/workflows/deploy-k8s.yml @@ -48,7 +48,7 @@ jobs: aws-session-token: ${{ secrets.AWS_SESSION_TOKEN }} # optional - name: use awscli - uses: unfor19/install-aws-cli-action@master + uses: unfor19/install-aws-cli-action@46282f151073130d90347412d9c4ef0640177f22 with: version: 2 @@ -59,7 +59,7 @@ jobs: id: kubeconfig run: | echo "::add-mask::$(aws eks --region ${{ inputs.aws_region }} update-kubeconfig --name ${{ inputs.k8s_cluster_name }} --dry-run | base64 -w 0)" - echo "::set-output name=KUBECONFIG::$(aws eks --region ${{ inputs.aws_region }} update-kubeconfig --name ${{ inputs.k8s_cluster_name }} --dry-run | base64 -w 0)" + echo "KUBECONFIG=$(aws eks --region ${{ inputs.aws_region }} update-kubeconfig --name ${{ inputs.k8s_cluster_name }} --dry-run | base64 -w 0)" >> $GITHUB_OUTPUT shell: bash - name: Generate k8s secret params @@ -71,7 +71,7 @@ jobs: echo "result: ${{ inputs.ci_env }}_ENV_VARS" for i in `cat .github/workflows/ci-properties.json | jq -r .${{ inputs.ci_env }}_ENV_VARS | jq -r 'keys[]' || true`; do params="${params} --from-literal=$i=$(cat .github/workflows/ci-properties.json | jq -r .${{ inputs.ci_env }}_ENV_VARS.$i)"; done echo "ENV VARS from ci-properties.json: $params" - echo "::set-output name=k8sparams::$params" + echo "k8sparams=$params" >> $GITHUB_OUTPUT - name: print k8sparams id: print @@ -79,7 +79,7 @@ jobs: echo "${{ steps.genparams.outputs.k8sparams }}" - name: Create kubernetes secret with service parameters - uses: kodermax/kubectl-aws-eks@master + uses: kodermax/kubectl-aws-eks@214195db51c87cdd4d7c1e33e43f7638b5849186 env: KUBE_CONFIG_DATA: ${{ steps.kubeconfig.outputs.KUBECONFIG }} KUBECTL_VERSION: "v1.22.0" @@ -93,7 +93,7 @@ jobs: sed -i 's|image: ${{ inputs.IMAGE_NAME }}|image: ${{ inputs.IMAGE_NAME }}:${{ inputs.KUBE_NAMESPACE }}|' deployment.yaml - name: kubernets apply config - uses: kodermax/kubectl-aws-eks@master + uses: kodermax/kubectl-aws-eks@214195db51c87cdd4d7c1e33e43f7638b5849186 env: KUBE_CONFIG_DATA: ${{ steps.kubeconfig.outputs.KUBECONFIG }} KUBECTL_VERSION: "v1.22.0" @@ -102,7 +102,7 @@ jobs: args: apply -f deployment.yaml -n ${{ inputs.KUBE_NAMESPACE }} - name: rollout - uses: kodermax/kubectl-aws-eks@master + uses: kodermax/kubectl-aws-eks@214195db51c87cdd4d7c1e33e43f7638b5849186 env: KUBE_CONFIG_DATA: ${{ steps.kubeconfig.outputs.KUBECONFIG }} KUBECTL_VERSION: "v1.22.0" diff --git a/.github/workflows/init.yml b/.github/workflows/init.yml index 133422c..aba7d70 100644 --- a/.github/workflows/init.yml +++ b/.github/workflows/init.yml @@ -55,16 +55,16 @@ jobs: id: setvars run: | if [[ "${{ inputs.base_ref }}" == "${{ env.prod_branch }}" || "${{ inputs.ref }}" == "refs/heads/${{ env.prod_branch }}" ]]; then - echo "::set-output name=k8s_namespace::production" - echo "::set-output name=ci_env::PROD" + echo "k8s_namespace=production" >> $GITHUB_OUTPUT + echo "ci_env=PROD" >> $GITHUB_OUTPUT fi if [[ "${{ inputs.base_ref }}" == "${{ env.dev_branch }}" || "${{ inputs.ref }}" == "refs/heads/${{ env.dev_branch }}" ]]; then - echo "::set-output name=k8s_namespace::test" - echo "::set-output name=ci_env::DEV" + echo "k8s_namespace=test" >> $GITHUB_OUTPUT + echo "ci_env=DEV" >> $GITHUB_OUTPUT fi - echo "::set-output name=image_name::${{ env.image_name }}" - echo "::set-output name=registry::${{ env.registry }}" - echo "::set-output name=aws_region::${{ env.aws_region }}" - echo "::set-output name=k8s_cluster_name::${{ env.k8s_cluster_name }}" - echo "::set-output name=app_name::${{ env.app_name }}" - echo "::set-output name=dockerfile_path::${{ env.dockerfile_path }}" + echo "image_name::${{ env.image_name }}" >> $GITHUB_OUTPUT + echo "registry::${{ env.registry }}" >> $GITHUB_OUTPUT + echo "aws_region::${{ env.aws_region }}" >> $GITHUB_OUTPUT + echo "k8s_cluster_name::${{ env.k8s_cluster_name }}" >> $GITHUB_OUTPUT + echo "app_name::${{ env.app_name }}" >> $GITHUB_OUTPUT + echo "dockerfile_path::${{ env.dockerfile_path }}" >> $GITHUB_OUTPUT From 8f4e28998c8a37b3a7a95e88d2dc2be67b4a1ecc Mon Sep 17 00:00:00 2001 From: Renat Gofman Date: Mon, 25 Sep 2023 15:18:40 +0300 Subject: [PATCH 3/3] fix set output syntax --- .github/workflows/init.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/init.yml b/.github/workflows/init.yml index aba7d70..4f2e59c 100644 --- a/.github/workflows/init.yml +++ b/.github/workflows/init.yml @@ -62,9 +62,9 @@ jobs: echo "k8s_namespace=test" >> $GITHUB_OUTPUT echo "ci_env=DEV" >> $GITHUB_OUTPUT fi - echo "image_name::${{ env.image_name }}" >> $GITHUB_OUTPUT - echo "registry::${{ env.registry }}" >> $GITHUB_OUTPUT - echo "aws_region::${{ env.aws_region }}" >> $GITHUB_OUTPUT - echo "k8s_cluster_name::${{ env.k8s_cluster_name }}" >> $GITHUB_OUTPUT - echo "app_name::${{ env.app_name }}" >> $GITHUB_OUTPUT - echo "dockerfile_path::${{ env.dockerfile_path }}" >> $GITHUB_OUTPUT + echo "image_name=${{ env.image_name }}" >> $GITHUB_OUTPUT + echo "registry=${{ env.registry }}" >> $GITHUB_OUTPUT + echo "aws_region=${{ env.aws_region }}" >> $GITHUB_OUTPUT + echo "k8s_cluster_name=${{ env.k8s_cluster_name }}" >> $GITHUB_OUTPUT + echo "app_name=${{ env.app_name }}" >> $GITHUB_OUTPUT + echo "dockerfile_path=${{ env.dockerfile_path }}" >> $GITHUB_OUTPUT