updates
This commit is contained in:
@@ -0,0 +1,24 @@
|
|||||||
|
on:
|
||||||
|
workflow_call:
|
||||||
|
inputs:
|
||||||
|
environment:
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build and Push
|
||||||
|
environment: ${{ inputs.environment }}
|
||||||
|
runs-on: self-hosted
|
||||||
|
# timeout-minutes: 20
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Build and push Docker image
|
||||||
|
run: |
|
||||||
|
cd ${{ vars.DOCKERFILE_DIR }}
|
||||||
|
docker login --username ${{ vars.DOCKER_USER }} --password ${{ vars.DOCKER_PASSWORD }} ${{ vars.DOCKER_REGISTRY }}
|
||||||
|
docker buildx build \
|
||||||
|
-t ${{ vars.DOCKER_REGISTRY }}/${{ inputs.environment }}:latest \
|
||||||
|
-t ${{ vars.DOCKER_REGISTRY }}/${{ inputs.environment }}:${{ github.run_number }} \
|
||||||
|
--push .
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
on:
|
||||||
|
workflow_call:
|
||||||
|
inputs:
|
||||||
|
environment:
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
deploy:
|
||||||
|
name: Release Deploy
|
||||||
|
environment: ${{ inputs.environment }}
|
||||||
|
runs-on: self-hosted
|
||||||
|
# timeout-minutes: 20
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Kubernetes Deploy
|
||||||
|
run: |
|
||||||
|
# for s in $(echo $SECRETS | jq -r "to_entries|map(\"\(.key)=\(.value|tostring)\")|.[]"); do export $s; done
|
||||||
|
# for s in $(echo $VARS | jq -r "to_entries|map(\"\(.key)=\(.value|tostring)\")|.[]" ); do echo $s && export $s;done
|
||||||
|
|
||||||
|
|
||||||
|
for s in $(echo $SECRETS | jq -r "to_entries|map(\"\(.key)=\(.value|tostring)\")|.[]" ); do export $s;done
|
||||||
|
for s in $(echo $VARS | jq -r "to_entries|map(\"\(.key)='\(.value|tostring)'\")|.[]"); do echo $s && export $s; done
|
||||||
|
|
||||||
|
envsubst < ${{ vars.K3S_MANIFEST }} | kubectl apply -f -
|
||||||
|
env:
|
||||||
|
K3S_DEPLOY_NAME: ${{ inputs.environment }}
|
||||||
|
K3S_NAMESPACE: ${{ vars.K3S_NAMESPACE }}
|
||||||
|
K3S_DOCKER_IMAGE: ${{ vars.DOCKER_REGISTRY }}/${{ inputs.environment }}:${{ github.run_number }}
|
||||||
|
SECRETS: ${{ toJSON(secrets) }}
|
||||||
|
VARS: ${{ toJSON(vars) }}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
FROM python:3.12
|
||||||
|
|
||||||
|
WORKDIR /code
|
||||||
|
|
||||||
|
COPY ./requirements/base.txt /code/requirements.txt
|
||||||
|
|
||||||
|
RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
|
||||||
|
|
||||||
|
COPY ./app /code/app
|
||||||
|
|
||||||
|
RUN useradd fastapiuser
|
||||||
|
|
||||||
|
USER fastapiuser
|
||||||
|
|
||||||
|
EXPOSE 8080
|
||||||
|
|
||||||
|
CMD ["fastapi", "run", "app/main.py", "--port", "8080"]
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
fastapi[standard]
|
||||||
|
asyncpg
|
||||||
|
sqlalchemy[asyncio]
|
||||||
|
pydantic
|
||||||
|
pydantic-settings
|
||||||
Reference in New Issue
Block a user