Fixed oauth2 enhance token - build authentication-service, build node… #257
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
| # This is a basic workflow to help you get started with Actions | |
| name: CI - Build and push Docker images - Go Service | |
| # Controls when the action will run. Triggers the workflow on push or pull request | |
| # events but only for the master branch | |
| on: | |
| push: | |
| branches: [ master ] | |
| # Environment variables available to all jobs and steps in this workflow | |
| env: | |
| GKE_PROJECT: ${{ secrets.GKE_PROJECT }} | |
| GKE_EMAIL: ${{ secrets.GKE_EMAIL }} | |
| GITHUB_SHA: ${{ github.sha }} | |
| GKE_ZONE: ${{ secrets.GKE_ZONE }} | |
| GKE_CLUSTER: ${{ secrets.GKE_CLUSTER }} | |
| GKE_KEY: ${{ secrets.GKE_KEY }} | |
| IMAGE: go-service | |
| AWS_REGION: ${{ secrets.AWS_REGION }} | |
| ECR_REPOSITORY: ${{ secrets.ECR_REPOSITORY }} | |
| ECS_SERVICE: "go-service" | |
| ECS_CLUSTER: ${{ secrets.ECS_CLUSTER }} | |
| ECS_TASK_DEFINITION: ".github/.aws/go-service-task-definition.json" | |
| CONTAINER_NAME: ${{ secrets.CONTAINER_NAME }} | |
| SPRING_DATA_MONGODB_URI: ${{ secrets.SPRING_DATA_MONGODB_URI }} | |
| COM_MICROSERVICE_AUTHENTICATION_JWT_KEY_VALUE: ${{ secrets.COM_MICROSERVICE_AUTHENTICATION_JWT_KEY_VALUE }} | |
| # A workflow run is made up of one or more jobs that can run sequentially or in parallel | |
| jobs: | |
| # This workflow contains a single job called "build" | |
| build: | |
| if: contains(toJson(github), 'build go-service') | |
| name: Build Jar/Docker Image and Publish to DockerHub | |
| # The type of runner that the job will run on | |
| runs-on: ubuntu-latest | |
| # Steps represent a sequence of tasks that will be executed as part of the job | |
| steps: | |
| # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| - name: Set up QEMU | |
| uses: docker/setup-qemu-action@v1 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v1 | |
| # Login to Dockerhub | |
| - name: Login to DockerHub | |
| uses: docker/login-action@v1 | |
| with: | |
| username: ${{ secrets.DOCKERHUB_USERNAME }} | |
| password: ${{ secrets.DOCKERHUB_TOKEN }} | |
| - name: Build and push | |
| id: docker_build | |
| uses: docker/build-push-action@v2 | |
| with: | |
| context: ./go-service | |
| file: ./go-service/Dockerfile | |
| platforms: linux/amd64,linux/arm64 | |
| push: true | |
| tags: | | |
| fielcapao/microservices-design-patterns-go-service:latest | |
| ${{ secrets.ECR_REPOSITORY }}/go-service:latest | |
| ${{ secrets.ECR_REPOSITORY }}/go-service:${{ env.GITHUB_SHA }} | |
| build-args: | | |
| ENV=production | |
| PORT=3006 | |
| # TODO - Replace Not Working | |
| # - name: Replace secrets | |
| # run: | | |
| # sed -i 's/SPRING_DATA_MONGODB_URI_REPLACE\/${{ env.SPRING_DATA_MONGODB_URI }}/g' ${{ env.ECS_TASK_DEFINITION }} | |
| # sed -i 's/COM_MICROSERVICE_AUTHENTICATION_JWT_KEY_VALUE_REPLACE\/${{ env.COM_MICROSERVICE_AUTHENTICATION_JWT_KEY_VALUE }}/g' ${{ env.ECS_TASK_DEFINITION }} | |
| # | |
| # - name: Fill in the new image ID in the Amazon ECS task definition | |
| # id: task-def | |
| # uses: aws-actions/amazon-ecs-render-task-definition@v1 | |
| # with: | |
| # task-definition: ${{ env.ECS_TASK_DEFINITION }} | |
| # container-name: ${{ env.CONTAINER_NAME }} | |
| # image: ${{ secrets.ECR_REPOSITORY }}/person-service:latest | |
| - name: Deploy Amazon ECS task definition | |
| uses: aws-actions/amazon-ecs-deploy-task-definition@v1 | |
| with: | |
| task-definition: ${{ env.ECS_TASK_DEFINITION }} | |
| service: ${{ env.ECS_SERVICE }} | |
| cluster: ${{ env.ECS_CLUSTER }} | |
| wait-for-service-stability: true | |
| - name: Image digest | |
| run: echo ${{ steps.docker_build.outputs.digest }} | |
| # # Build the Docker image with Maven | |
| # - name: Build | |
| # run: | | |
| # sed -i 's/golang:1.15.2-alpine3.12/balenalib\/raspberry-pi-alpine-golang/g' ./go-service/Dockerfile | |
| # docker build -t fielcapao/microservices-design-patterns-go-service:latest \ | |
| # --build-arg ENV=production \ | |
| # --build-arg PORT="3006" ./go-service | |
| # | |
| # Setup gcloud CLI | |
| # - name: Setup Google Cloud | |
| # uses: google-github-actions/setup-gcloud@master | |
| # with: | |
| # project_id: ${{ secrets.GKE_PROJECT }} | |
| # service_account_key: ${{ secrets.GKE_KEY }} | |
| # export_default_credentials: true | |
| # | |
| ## Configure docker to use the gcloud command-line tool as a credential helper | |
| # - name: Set up docker to authenticate | |
| # run: | | |
| # gcloud --quiet auth configure-docker | |
| # gcloud info | |
| ## Release Tag to Google Cloud | |
| # - name: Publish image to Google Cloud | |
| # run: | | |
| # docker tag fielcapao/microservices-design-patterns-go-service:latest eu.gcr.io/$GKE_PROJECT/$IMAGE:$GITHUB_SHA | |
| # docker push eu.gcr.io/$GKE_PROJECT/$IMAGE:$GITHUB_SHA |