Skip to content

Commit

Permalink
chore(core): app deployment
Browse files Browse the repository at this point in the history
  • Loading branch information
tericcabrel committed Sep 3, 2022
1 parent 7636ee3 commit 7c50978
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 63 deletions.
25 changes: 1 addition & 24 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,22 +1,17 @@
name: Sharingan Build
on:
push:
branches: [ main ]
paths-ignore:
- '**/.md'
pull_request:
branches: [ main ]
paths-ignore:
- '**/.md'
env:
COMMIT_SHA: ${{ github.event.pull_request.head.sha }}

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

jobs:
build:
if: false
name: build
runs-on: ubuntu-latest
env:
Expand Down Expand Up @@ -51,21 +46,3 @@ jobs:

- name: Run tests
run: yarn test

trigger_deploy:
if: ${{ github.ref == 'refs/heads/main' }}
name: trigger_deploy
needs: [ build ]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Trigger deployment
run: |
set -e
GITHUB_TOKEN=${{ github.token }}
SHA=${COMMIT_SHA:=latest}
echo $SHA
curl -X POST -H "Accept: application/vnd.github.v3+json" -H "Authorization: token $GITHUB_TOKEN" https://api.github.com/repos/tericcabrel/sharingan/actions/workflows/deploy-core.yml/dispatches -d '{"ref": "main", "inputs": {"commit-sha": "'"$SHA"'"}}'
70 changes: 32 additions & 38 deletions .github/workflows/deploy-core.yml
Original file line number Diff line number Diff line change
@@ -1,60 +1,54 @@
name: Sharingan Deploy Core
on:
workflow_dispatch:
inputs:
commit-sha:
description: "SHA of the latest commit in the pull request"
required: true
pull_request:
branches:
- main
push:
branches:
- main
- dev
paths:
- 'apps/core/src/**'

env:
IMAGE_TAG: tericcabrel/sharingan-core:${{ github.event.inputs.commit-sha }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: ${{ secrets.AWS_REGION }}

jobs:
package:
if: false
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2

- name: Copy the core Dockerfile in the root repository
run: cp apps/core/Dockerfile .

- name: Set up QEMU
uses: docker/setup-qemu-action@v1

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1

- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Build and push
uses: docker/build-push-action@v2
with:
context: .
push: true
tags: ${{ env.IMAGE_TAG }}
- name: Build, tag, and push docker image to Amazon ECR
env:
REGISTRY: public.ecr.aws/x9y5g9l2
REGION: us-east-1 # Public ECR aren't region specific
REPOSITORY: sharingan
IMAGE_TAG: latest
run: |
aws ecr-public get-login-password --region $REGION | docker login --username AWS --password-stdin $REGISTRY
docker build -t $REPOSITORY:$IMAGE_TAG .
docker tag $REPOSITORY:$IMAGE_TAG $REGISTRY/$REPOSITORY:$IMAGE_TAG
docker push $REGISTRY/$REPOSITORY:$IMAGE_TAG
deploy:
defaults:
run:
working-directory: apps/core
runs-on: ubuntu-latest
environment: Production
needs:
- package
# needs:
# - package
steps:
- uses: actions/checkout@v2
- name: Add Server key
run: |
touch key.txt && echo "${{ secrets.SERVER_KEY }}" > key.txt
chmod 600 key.txt

- name: Deploy the application
env:
AWS_REGION: eu-west-1
run: |
export SUSER=${{ secrets.SERVER_USER }}
export SNAME=${{ secrets.SERVER_NAME }}
export SPORT=${{ secrets.SERVER_PORT }}
export IMAGE_TAG=$IMAGE_TAG
./deploy.sh
touch file.json && echo '${{ secrets.CORE_APP_ARN }}' > file.json
cat file.json
aws apprunner start-deployment --region $AWS_REGION --cli-input-json file:https://file.json
2 changes: 1 addition & 1 deletion apps/core/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ RUN mkdir app

WORKDIR /app

COPY ../.. .
COPY . .

RUN yarn install

Expand Down

0 comments on commit 7c50978

Please sign in to comment.