Skip to content

Commit

Permalink
GitHub action to build and publish
Browse files Browse the repository at this point in the history
  • Loading branch information
Lackronik committed Apr 2, 2024
1 parent 1a23c97 commit 6c1827a
Show file tree
Hide file tree
Showing 2 changed files with 83 additions and 0 deletions.
66 changes: 66 additions & 0 deletions .github/workflows/build_img.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: Build ARM image and Publish to ECR

on:
push:
branches:
- develop

env:
BUILD_PATH: '/app/build/'

jobs:
build-and-push:
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
repository: ${{ github.repository }}
ref: ${{ github.sha }}

- name: Install .NET Core SDK
uses: actions/setup-dotnet@v2
with:
dotnet-version: '7.0'

- name: Login to NuGet registry
run: |
dotnet nuget add source -u "${{ secrets.NUGET_GITHUB_USER }}" \
-p "${{ secrets.NUGET_GITHUB_TOKEN }}" \
--store-password-in-clear-text \
-n github "https://nuget.pkg.github.com/OSTOLEX-Technologies/index.json"
- name: Restore packages
run: dotnet restore "castledice-matchmaker/castledice-matchmaker.csproj"

- name: Create build directory
run: mkdir -p ${{ env.BUILD_PATH }}

- name: Build project
run: dotnet build castledice-matchmaker/castledice-matchmaker.csproj -c Release -r linux-musl-arm64 -o ${{ env.BUILD_PATH }}

- name: Copy service files
run: |
cp Dockerfile ${{ env.BUILD_PATH }}
cp appsettings.json ${{ env.BUILD_PATH }}
cp nlog.config ${{ env.BUILD_PATH }}
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ secrets.AWS_REGION }}

- name: Login to Amazon ECR
id: login-ecr
uses: aws-actions/amazon-ecr-login@v2

- name: Build and push Docker image
uses: docker/build-push-action@v2
with:
context: /app/build/
push: true
tags: ${{ steps.login-ecr.outputs.registry }}/castledice-matchmaker:latest
platforms: linux/arm64
17 changes: 17 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
FROM 130936542519.dkr.ecr.eu-central-1.amazonaws.com/castledice-riptide_server:latest

ARG NET_VERSION=7.0.14
ENV ASPNET_VERSION=$NET_VERSION

RUN apk --no-cache add gcompat

COPY . /app/
RUN cp /usr/share/dotnet/shared/Microsoft.NETCore.App/$NET_VERSION/*.so /app/

WORKDIR /app

RUN chmod +x castledice-matchmaker

EXPOSE 7777

CMD ["dotnet", "/app/castledice-matchmaker.dll"]

0 comments on commit 6c1827a

Please sign in to comment.